例如,如果我有:
String test = "test DE;IT;ES;CH;AU;FR";
隨著String[] split = test.split("\\W");我可以分割字串,并把字串的各個部件到一個陣列。
但是我想要的是,例如,如果我有相同的字串:
String test2 = "test DE; IT;ES ;CH;AU;FR";
但這次中間有隨機空間。我想保留這些空間。問題是,如果我只;用作正則運算式,第一個單詞將是test DE而不是test自己的字串和DE自己的字串。
所以我想要的陣列結果是這種情況:([test,DE, IT,ES ,CH,AU,FR]我洗掉了逗號后面的標準空格以使其更清晰)
uj5u.com熱心網友回復:
你可以使用:
;|\b \b
查看在線演示
import java.util.Arrays;
public class MyClass {
public static void main(String args[]) {
String test = "test DE; IT;ES ;CH;AU;FR";
String[] split = test.split(";|\\b \\b");
System.out.println(Arrays.toString(split));
}
}
印刷:
[test, DE, IT, ES , CH, AU, FR]
uj5u.com熱心網友回復:
您可以使用環視:
;|(?<!;) (?!;)
https://regex101.com/r/e0ZtAa/1
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/404643.html
標籤:
