带有两个分隔符的java split()方法

带有两个分隔符的java split()方法,java,Java,我有一根像 abababa:nsndnfnng.leleelld_kdjdh 我想将其拆分为“:”和“.”,以便得到如下列表: {abababa, nsndnfnng, eleelld_kdjdh} 调用split()一次如何实现这一点?您正在寻找String#split方法。因为它接受描述分隔符的正则表达式,所以您的代码可能是这样的 String[] result = yourString.split("[:.]"); 您可以只使用接受正则表达式参数的 常见陷阱如果您只想单独拆分,则必须

我有一根像

abababa:nsndnfnng.leleelld_kdjdh
我想将其拆分为“:”和“.”,以便得到如下列表:

{abababa, nsndnfnng, eleelld_kdjdh}

调用split()一次如何实现这一点?

您正在寻找
String#split
方法。因为它接受描述分隔符的正则表达式,所以您的代码可能是这样的

String[] result = yourString.split("[:.]");
您可以只使用接受正则表达式参数的


常见陷阱如果您只想单独拆分
,则必须转义点
字符串。拆分(\\”
(或者在此处也使用字符类
String.split([.])

使用正则表达式并拆分字符串

例如:

public static void main(String[] args) {
    String REGEX_PATTERN = "[:.\\_]";
    String s1 = "abababa:nsndnfnng.leleelld_kdjdh";
    String[] result = s1.split(REGEX_PATTERN);
    for (String myString : result) {
        System.out.println(myString);
    }
}

只需对字符串调用split()两次,一次调用原始字符串,然后调用第一步生成的子字符串。寻找更好的方法。无论如何。
在字符类中并不特殊。没有必要在那里转义它们。“请注意,点需要转义。”如果
不在
[…]
内,则是这样。大多数正则表达式元字符在字符类中没有特殊意义,因为它的目的是表示单个字符,这意味着我们甚至可以编写
[+/:*()]
,它将表示单个
+
/
*
字符。关于
[.]
也一样。你可以在这里找到更多信息:你是对的,因为它们在一个字符类中,如果你同意“注意点.需要转义”是不对的(因为
放在
[…]
中),请随意从你的答案中删除该部分,因为它是不正确的。