如何仅拆分字符串。而不是如果它前面有双反斜杠?

时间:2019-12-26 09:24:55

标签: java regex string

我正在使用正则表达式\/\/[.]来匹配字符串中的//.

  

这是///。 .example .String

如果我们将上述字符串拆分为点,则输出应为

This is//. a example String

String.split()方法的正则表达式是什么

4 个答案:

答案 0 :(得分:1)

您想用不以//字符串开头的点来分隔字符串。

使用

.split("(?<!//)\\.")

请参见regex demo

如果当前位置的左侧紧跟着(?<!//)文本,则//是一个向后的否定查找,将使匹配失败。

答案 1 :(得分:0)

split()方法中,您可以将\\.作为String.split("\\.")传递

答案 2 :(得分:0)

您可以执行以下操作:

import java.util.Arrays;

public class Main {
    public static void main(String args[]) {
        String str="This is//. a .example .String";
        String[] strArr=str.split("[^//.]\\.");
        System.out.println(Arrays.toString(strArr));
    }
}

输出:

[This is//. a, example, String]

说明:您使用否定的字符类来排除某些字符:例如[^abcde]匹配除a,b,c,d,e之外的任何字符。

答案 3 :(得分:0)

如果不加layout_height="0dp",在dot上拆分怎么办

/