无法在带有^(插入符号)符号的字符串上使用String.split

TON*_*ONY 3 java regex string split

我有一个字符串218~2~4~6 ^ 219~1~3~3 ^ 218~5~2~2 ^ 217~10~3~8 ^,我想用^来分割字符串.我试过这样的

String mainString = "218~2~4~6^219~1~3~3^218~5~2~2^217~10~3~8^";

String[] tokens = mainString.split("^");

for (String stri: tokens){
        System.out.println("\nString tokens: " + stri);
    }
Run Code Online (Sandbox Code Playgroud)

但它没有用..请帮我拆分字符串

Yog*_*ngh 10

在正则表达式中使用backslash(\)前面^的特殊字符(匹配字符串的开头).backslash(\) 在前面添加后,它会被^视为文字,您需要执行拆分.

 String[] tokens = mainString.split("\\^");
Run Code Online (Sandbox Code Playgroud)

  • 值得一提的是,您需要转义`^`符号,因为它是一个特殊字符,表示正则表达式语法中的"行的开头". (4认同)