Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 查找子字符串并计算表达式_Java_Arrays_Indexof - Fatal编程技术网

Java 查找子字符串并计算表达式

Java 查找子字符串并计算表达式,java,arrays,indexof,Java,Arrays,Indexof,我正在研究一些可能是java基础知识的东西,但即使阅读了一些文档,我仍然不理解 我有一个csv文件,我逐行读取到sTokens变量中。在每一行,我需要检查元素[0]中的值,并将其与我需要的值进行比较 我有一个字符串数组,如下所示: String [] sTokens = {"elem1", "elem2"}; System.out.println(sTokens[0].indexOf("el".toLowerCase())); 以下操作未按预期工作: if (sTokens[0].index

我正在研究一些可能是java基础知识的东西,但即使阅读了一些文档,我仍然不理解

我有一个csv文件,我逐行读取到sTokens变量中。在每一行,我需要检查元素[0]中的值,并将其与我需要的值进行比较

我有一个字符串数组,如下所示:

String [] sTokens = {"elem1", "elem2"};
System.out.println(sTokens[0].indexOf("el".toLowerCase()));
以下操作未按预期工作:

if (sTokens[0].indexOf("texttofind".toLowerCase())>=10) {
   //do something
}
我的期望是让求值表达式返回一个数字(在本例中为10或在最坏的情况下为-1),然后根据返回的数字执行某些操作,例如,10表示我找到了所需的内容

我在Netbeans中使用调试工具,当我对括号中的表达式求值时,它返回10(就像它应该做的那样)

不幸的是,这可能是我的错误,表达式的计算结果为NULL

任何帮助都将不胜感激
lorenz

我想sTokens可能是大写的。试试这个

String[] sTokens = {"Hello","TestC"};
if(sTokens [0].toLowerCase().indexOf("llo")>=2){
     //do something
}

您错误地使用了indexOf。如果这是您所拥有的:

String [] sTokens = {"elem1", "elem2"};
您可以这样运行代码:

String [] sTokens = {"elem1", "elem2"};
System.out.println(sTokens[0].indexOf("el".toLowerCase()));
它将打印0,因为在斯托克斯[0]中包含从索引0开始的“el”

如果运行此命令:

System.out.println(sTokens[0].indexOf("em".toLowerCase()));

它将打印2,因为“em”从索引2开始。

这个数字应该是什么意思?因为java.lang.String.contains()只返回布尔值true或false。@robinvrd很抱歉,您是对的!!我的意思是IndexOfCSV文件中的内容你的问题是“查找子字符串”,但你使用的是indexOf?您正在查找
.equals()
?请尝试
.contains()
,然后。。