我试图拆分看起来像这样的字符串 -
"Tomorrow - Cloudy - -3/1 "
到
"Tomorrow"
,"Cloudy"
,"-3"
,"1"
我知道如何在两个镜头中执行此操作,首先是string.split("-",3)
然后result[2].split("/")
,但有一个正则表达式可以在一行中执行吗?我已经尝试"[-{3}/]"
,但它似乎无法运作。
答案 0 :(得分:2)
如果它始终采用该格式,则可以使用以下内容:
Pattern: (\w+)\s\-\s(\w+)\s\-\s(\-\d+)\/(\d+)
Substitution: \1\n\2\n\3\n\4\n
Input: Tomorrow - Cloudy - -3/1
Output: Tomorrow
Cloudy
-3
1
此处显示的示例:https://regex101.com/r/Fhnawd/1
答案 1 :(得分:0)
您可以使用OR运算符“|”
添加多个分隔符所以在你的情况下,它将是:
String s = "Tomorrow - Cloudy - -3/1 ";
String[] splitResult = s.split(" - |/");
for (String result : splitResult) {
System.out.println(result.trim());
}
结果:
明天
多云
-3
1