使用split方法分割字符串

我想分割一个字符串,如:

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

如何实现啊?


慕运维8079593
浏览 602回答 4
4回答

有只小跳蛙

string s = @"C:\Program\files\images\flower.jpg";    String[] tokens = s.Split('\\');     String image= tokens[4];试一下

翻翻过去那场雪

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);         }          }\是一个转义符,而“\”也是需要转义的

慕尼黑5688855

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

BIG阳

应该这么写:    String[] tokens = "C:\\Program\\files\\images\\flower.jpg".split("\\\\");     String image = tokens[4];
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java