为了账号安全,请及时绑定邮箱和手机立即绑定

使用split方法分割字符串

使用split方法分割字符串

慕运维8079593 2019-03-15 15:15:03
我想分割一个字符串,如:C:\Program\files\images\flower.jpg但是,使用下面的代码:String[] tokens = s.split("\\");   String image= tokens[4];有错误:08-07 12:47:35.960: E/AndroidRuntime(6921): java.util.regex.PatternSyntaxException: Syntax error U_REGEX_BAD_ESCAPE_SEQUENCE near index 1如何实现啊?
查看完整描述

4 回答

?
有只小跳蛙

TA贡献1824条经验 获得超8个赞

string s = @"C:\Program\files\images\flower.jpg";

    String[] tokens = s.Split('\\');

    String image= tokens[4];

试一下


查看完整回答
反对 回复 2019-04-29
?
翻翻过去那场雪

TA贡献2065条经验 获得超14个赞

private static String s = "C:\\Program\\files\\images\\flower.jpg";
    /**
     * @param args
     */
    public static void main(String[] args) {
        String[] split = s.split("\\\\");
        for(String ss: split) {
            System.out.println("s ="+ss);
        }
         }

\是一个转义符,而“\”也是需要转义的


查看完整回答
反对 回复 2019-04-29
?
慕尼黑5688855

TA贡献1848条经验 获得超2个赞

// 因为反斜线是正则表达式中的特殊字符,所以需要转义。
// 那么,传递到正则表达式解析器的地方,就需要两个反斜线(\)
// 而你的代码属于Java代码,是属于字面量的,所以编译器在读取源文件的时候会进行一次转义
// 所以需要4个反斜线.如果这两个反斜线是从其他地方获取的,那么可以只有两个。
// 你也可以使用 System.out.println("\\\\"); 测试一下输出的结果,就是真正的值.

String[] tokens = s.split("\\\\");


查看完整回答
反对 回复 2019-04-29
?
BIG阳

TA贡献1859条经验 获得超6个赞

应该这么写:

    String[] tokens = "C:\\Program\\files\\images\\flower.jpg".split("\\\\");
    String image = tokens[4];


查看完整回答
反对 回复 2019-04-29
  • 4 回答
  • 0 关注
  • 594 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信