正規表現を実行する方法がわからないため、これについてもう一度助けが必要です。
分割したい文字列は次のとおりです。
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 "";
}