Java 查找子字符串并计算表达式
我正在研究一些可能是java基础知识的东西,但即使阅读了一些文档,我仍然不理解 我有一个csv文件,我逐行读取到sTokens变量中。在每一行,我需要检查元素[0]中的值,并将其与我需要的值进行比较 我有一个字符串数组,如下所示: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
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()
,然后。。