Man*_*dye 1 java regex string split
我是java语言的新手.我想在字符串库中使用split函数将字符串"mandar\jitendra\sadye"拆分为3个字符串"mandar","jitendra"和"sadye".我用来分割字符串的程序如下:
public class string
{
public static void main(String[] args)
{
String mandar="mandar\\jitendra\\saye";
String[] words=mandar.split("[\\]");
for(int a=0;a<words.length;a++)
{
System.out.println(words[a]);
}
}
}
Run Code Online (Sandbox Code Playgroud)
但是这个程序给出了这个错误
如果我用'\ 0'之类的任何其他转义序列替换'\',那么程序运行就好了
我已经尝试使用['\'] [] [\] ['\'] [\],但这些令牌都不适用于我.那么是否有一些特殊的方法可以将字符串拆分为"\"?
你需要\正确逃脱.一次为java,再次为regex引擎.
String mandar="mandar\\jitendra\\saye";
String[] words=mandar.split("\\\\");
for(int a=0;a<words.length;a++)
{
System.out.println(words[a]);
}
Run Code Online (Sandbox Code Playgroud)
O/P:
mandar
jitendra
saye
Run Code Online (Sandbox Code Playgroud)
我想到的另一种方法是使用Pattern.quote():
public static void main(String[] args) {
String mandar="mandar\\jitendra\\saye";
String[] words=mandar.split(Pattern.quote("\\"));
for(int a=0;a<words.length;a++)
{
System.out.println(words[a]);
}
}
Run Code Online (Sandbox Code Playgroud)
O/P:
mandar
jitendra
saye
Run Code Online (Sandbox Code Playgroud)