我想分析一个文本文件。如果“:”发生,那么我想分成两部分的数组。第二部分进一步调查:如果它包含“in”(注意空间,这很重要)或“out”,数组列表端口会被填充。如果原始字符串的后半部分都不是“in”和“out”,则泛型将被填充。我用下面的代码试图它:字符串匹配问题?
if (str.matches("\\:")) {
String[] splitarray = str.split("\\:");
if (splitarray[1].matches("in ")) {
ports.add(str);
} else {
if (splitarray[1].matches("out ")) {
ports.add(str);
} else {
generics.add(str);
}
}
}
反斜杠是错误的 - 它引入了一个特殊的字符,其中:不是。如果你想逃避一个特殊的正则表达式字符,那么你需要一个双反斜杠。 :不是一个特殊的正则表达式,所以你根本不需要它。 – trojanfoe 2011-03-23 08:09:21
你不能使用[java.util.Properties](http://download.oracle.com/javase/1.4.2/docs/api/java/util/Properties.html)吗? – Nishant 2011-03-23 08:15:15