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