正则表达式用2个分隔符分割一个字符串,2次

时间:2017-07-06 11:59:28

标签: java android regex string

我试图拆分看起来像这样的字符串 -

"Tomorrow - Cloudy - -3/1 "

"Tomorrow""Cloudy""-3""1"

我知道如何在两个镜头中执行此操作,首先是string.split("-",3)然后result[2].split("/"),但有一个正则表达式可以在一行中执行吗?我已经尝试"[-{3}/]",但它似乎无法运作。

2 个答案:

答案 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