我再次需要一些帮助,因为我无法弄清楚如何让正则表达式运行。
这是我要拆分的字符串:
String str = "ERR||||TEST|GET|POST|UPDATE|"
我有一个函数,它给定一个以 1 开头的字段索引,将在拆分字符串后返回该位置的字符串。但是问题是正则表达式不会返回分隔符之间的空字符串,因为这被计入字段索引。如何修改此正则表达式以包含这些空字段?
private static String extractField(String strt, int fieldNo)
{
Pattern pattern = Pattern.compile("[^|]+");
String str = strt.replaceAll("\\r", "");
Matcher matcher = pattern.matcher(str);
int i = 1;
while (matcher.find()) {
String fS = matcher.group().trim();
System.out.println("Result: \"" + fS + "\"");
if (i++==fieldNo) {
return fS;
}
}
return "";
}