Java字串切割問題(split)


有一個字串如下
String test = "aaa<=tr=>bbbccdee<=td=>ddf";
希望用split傳出
arr[0] = "tr";
arr[1] = "td";
的結果。
目前做出來都是相反的結果。

String[] arr = test.split("<=.*?=>.*?");

想請教一下正規表示式(Regular Expression)要怎麼做?

ps:用loop的方式來做效能會很差,就不考慮用loop的方式。
更新: 程式如下,
結果
ans
ans1
請問split中的正規表示式該要怎麼寫呢?
更新 2: public static void main(String[] a) {
String[] array = getStrArray("abcdefgh<=ans=>ijklmnopqrst<=ans1=>uvwxyz");
for (int i = 0; i < array.length; i++) {
System.out.println(array[i]);
}
}
更新 3: public static String[] getStrArray(String str) {
return str.split("正規表示式語法");
}
更新 4: 最後附上api
String[] split(String regex)
Splits this string around matches of the given regular expression.


網址如下
http://download.oracle.com/javase/6/docs/api/java/lang/String.html
更新 5: 目前想了一個最囧的做法....囧

private static String[] getStrArray(String data) {
return data.replaceAll("^[\\w]*<=", "").replaceAll("=>[\\w]*$", "").split("=>[\\w].*?<=");
}
4 個解答 4