6

次のような文字列があります。

1|f1|</a1|a2/></a3|a4/>|f2

「|」で分割したい Javaによるが、無視する必要が</あり/>ます. これどうやってするの?これは正規表現のアプローチのようです

上記の文字列は次のように分割されます。

1

f1

a1|a2

a3|a4

f2

4

3 に答える 3

1

この正規表現は一致する必要があります。1つが失敗した場合に試してみる可能性のあるもののリストを残しておき、次に進みます。最初のものは \b が単語のバインドをエスケープする必要がありますが、Java はエスケープ バックスラッシュをエスケープする必要がない可能性があるため、2 つ目を追加しました。両方とも失敗した場合は、最後のものに移動します。これは、大文字の A から共通の z までの文字でなければならないと言っています。今までのどのスペースにもオプションはありません。

最後の結果は一致します。

"<" 任意の文字、複数回、">" それが失敗した場合

マッチ:

文字または数字の任意の文字

"(<.*?>|[^|\\b]*)" "(<.*?>|[^|\b]*)" "(<.*?>|[A-z0-9]*)"

public String[] methodName(String s)
{
ArrayList<String>list= new ArrayList<String>();
Pattern p=Pattern.compile("(<.*?>|[^|]*)");
Matcher match=p.matcher(s);
while(match.find())
{
 list.add(match.group());
}
String[] listArray= new String[list.size()];
return listArray.toArray(listArray);
}

乾杯の仲間に役立つ場合は、投票することを忘れないでください

于 2013-04-12T19:20:08.653 に答える