0

私は Java での正規表現の経験はありませんが、正規表現を使用してこれを解決でき、私の例よりも簡単になると思います。||二重記号のテキストがあります。テキストは
1) aaa||bbb||ccc
2) aaa||||ccc
3) ||bbb||ccc
4)|| ||ccccなどの
ようになります。最初の bbb の後にテキストを抽出し、2 番目の ccc の後にテキストを抽出したい||考え||ます。やった:

Pattern p = Pattern.compile("||",Pattern,DOTALL);
String types[] = p.split(stringToParse);

ただし、文字列に 3 つの部分がない場合、これは機能しません。

2番目のアイデアは次のとおりです。

Pattern p = Pattern.compile("||",Pattern,DOTALL);
Matcher m= p.matcher(strToParse);
while (m.find()) {
 System.out.println(m.group() + " " + m.start() + " " + m.end());
}

次に、いつ発生するかを知り、||部分文字列を実行できます。この問題を解決するためのより簡単で簡単な方法はありますか?

4

3 に答える 3

0

分割のドキュメントを誤解しています。これにより、stringToParse で文字列が分割されます。

String types[] = between.split(stringToParse);

おそらく、センチネルの文字列 stringToParse を次のように分割する必要があります。

String types[] = stringToParse.split(between);

元:

String s = "a:b:c";
String letters[] = s.split(":"); 
于 2013-10-31T13:14:48.563 に答える
0

上記のように、HTMLパーサーには使用しないでください。

Pattern p = Pattern.compile("(<br>)\\w*(<br>)");
Matcher m= p.matcher(c);
while (m.find()) {
 System.out.println(m.group().replace("<br>", ""));// replace <br>.
}
于 2013-10-31T12:31:56.603 に答える