问题描述
- 使用split方法分割字符串
-
我想分割一个字符串,如:C:Programfilesimagesflower.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
如何实现啊?
解决方案
string s = @"C:Programfilesimagesflower.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);
}
}
是一个转义符,而“”也是需要转义的
解决方案三:
// 因为反斜线是正则表达式中的特殊字符,所以需要转义。
// 那么,传递到正则表达式解析器的地方,就需要两个反斜线()
// 而你的代码属于Java代码,是属于字面量的,所以编译器在读取源文件的时候会进行一次转义
// 所以需要4个反斜线.如果这两个反斜线是从其他地方获取的,那么可以只有两个。
// 你也可以使用 System.out.println("\\");
测试一下输出的结果,就是真正的值.
String[] tokens = s.split("\\");
解决方案四:
应该这么写:
String[] tokens = "C:\Program\files\images\flower.jpg".split("\\");
String image = tokens[4];
时间: 2024-12-30 13:09:07