[quote="longzhu007"]一个同事这样使用split方法: String s = "ab|cd"; String[] array = s.split("|"); System.out.println(Arrays.toString(array)); 输出: [, a, b, |, c, d] 把"|"改为":" String s = "ab:cd"; String[] array = s.split(":"); System.out.println(Arrays.toString(array)); 输出: [ab, cd] 有人据此得出split方法有问题,其实这是RegEx的问题,使用者不了解RegEx,其实这是因为"|"是RegEx中的元符号,不能直接利用,需要转义符号"\" 修改如下: String s = "ab|cd"; String[] array = s.split("\\|");//java中是需要两个"\" System.out.println(Arrays.toString(array)); 输出: [ab, cd] 其实我们可以仔细阅读java的api文档,文档中明确说明这个参数字符串是RegEx型的,不是一个普通的字符串 所以呢,程序员需要对RegEx有较好的认识,否则在处理字符串的时候会碰到许多莫名其妙的错误,要么,就自己写那些效率低下的代码。[/quote]
答复: String 中的split()
最新推荐文章于 2024-04-15 16:45:14 发布