Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/312.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_Netbeans 7 - Fatal编程技术网

如何申报;“任何事”;使用java?

如何申报;“任何事”;使用java?,java,netbeans-7,Java,Netbeans 7,我试图在java中使用“.equal”从文本文件中查找和读取字符串。我知道我可以简单地用“.contain”代替,但我只想知道是否还有其他方法可以找到并阅读这样的行: 例如,我在文本文件中有以下数据: ID1 123 123 ID2 125 136 现在 我之所以要这样做是为了防止只输入“ID”而得到结果。那么有没有像正则表达式之类的方法可以帮助你呢 澄清: 我想找到与ID完全匹配的项,例如: 如果输入ID1,程序会显示:true 但输入身份证是错误的 如果我使用.contai

我试图在java中使用“.equal”从文本文件中查找和读取字符串。我知道我可以简单地用“.contain”代替,但我只想知道是否还有其他方法可以找到并阅读这样的行:

例如,我在文本文件中有以下数据:

ID1   123   123
ID2   125   136
现在

我之所以要这样做是为了防止只输入“ID”而得到结果。那么有没有像正则表达式之类的方法可以帮助你呢

澄清:

我想找到与ID完全匹配的项,例如:

如果输入ID1,程序会显示:true 但输入身份证是错误的

如果我使用.contain,程序会查找单词ID1或ID2,因为它们包含“ID”,所以它总是返回一个真值

现在,我想使用.equal查找后跟任何内容的精确匹配,请尝试以下正则表达式:

ID.+
仅当字符串具有“ID”子字符串加上至少一个字符时,此项才匹配。

请尝试以下操作:

String ID="ID1"; 
while ((ss = buffered_reader.readLine()) != null) {
    if (ss.matches(ID+".*")){do something} }
}

expresion
*
表示任何字符序列,甚至是空序列。因此,如果
ID
是“ID1”,那么它将匹配任何以ID1开头的
字符串。

正则表达式,例如:

(ID\d+)\s+(\d+)\s+(\d+)
将让您捕获三个组,其中包含感兴趣的值。例如,对于该输入:

ID1   123   123

第一组将包含
ID1
第twp组将包含
123
123
您还可以测试行的长度,类似这样(移动的代码比正则表达式少):


也许是我,但我不明白你的问题是什么。你能澄清你的问题吗?顺便说一下,我没有投反对票,因为我们还没有给你机会答复我的请求。你听说过正则表达式吗?现在是熟悉它们的时候了:-)例如,如果某个东西不通过.eqaul()而等于任何东西,那么不是任何其他方式吗?@KlausByskovHoffmann显然是的,正如他所说,“那么有没有像正则表达式这样的方式或其他方式可以帮助你?”@克劳斯:是的,我知道regex,但只是不知道如何在这里使用它们。谢谢tibtof,它工作得很好,很干净。我必须接受你的回答:DHe没有要求这样的东西。。。但是很好的推断。
ID1   123   123
while ((ss = buffered_reader.readLine()) != null) {
   if (ss.length()>3) {
       // Do your job
   }
}