-3

mp3 内の ID3 タグの TCON フレームから文字列を分割するための正規表現 (Java で) を記述する方法 ( http://id3.org/id3v2.3.0 )

以下に例を示します (用語の数に上限はありません)

入力:(1)(2)

出力:

(1)
(2)

入力:(1)Indie(2)

出力:

(1)Indie
(2)

入力:Indie Rock

出力:

Indie
Rock

また、括弧 (RX) および (CR) で保持できるテキストの特殊なケースが 2 つあります。

入力:(RX)(CR)

出力:

(RX)
(CR)
4

3 に答える 3

1

あなたが使用することができます:

String[] arr = str.split(" |(?<=.)(?=\\(\\d+\\))");

(?<=.)最後の文字が何でもあったことを意味します (したがって、行頭ではありません)。

(?=\\(\\d+\\))は、次の文字の(後に 1 つ以上の数字が続き、その後に が続くことを意味し)ます。

注:上記は必要以上に複雑かもしれませんが、ケントの答えのように(?=\\(\\d+\\))単純化できます。(?=\\()それはすべて、一致させたいものによって異なります。

参照

于 2013-03-07T14:56:58.490 に答える
1
String[] ss = str.split(" |(?<=\\S)(?=\\()");

配列はss出力セグメントを保持します。

于 2013-03-07T14:59:28.910 に答える
0

replaceAll をコンマ (または他のトークン) で区切ってから分割することができます。

str.replaceAll("(\\(\\d+\\)\\w*)", "$1,").split(",")
于 2013-03-07T14:50:26.627 に答える