public static void main(String[] args) {
String s9="《西游记》《水浒传》《三国演义》《石头记》";
String[] arr =s9.split("《|》《|》");
for (String string : arr) {
System.out.print(string);
}
}
我想通过书名号将字符串s9分割,然后只将4本书的名字保存在数组中,现在能成功,但是我打印数组的长度显示的是5,可是我明明只有四本书。我用debug调试,看到数组0号下标里居然不是“西游记”,而是“”这样一个0长度的字符串。这是为什么啊?

解决方案 »

  1.   

    https://wenda.so.com/q/1377258432068386?src=170     这个是split自己分割的逻辑问题
      

  2.   


    String content = "《西游记》《水浒传》《三国演义》《石头记》";
            Pattern test_ptn = Pattern.compile("《.*?》");
            Matcher m1 = test_ptn.matcher(content);
            while (m1.find()) {
                System.out.println("text=" + m1.group(0));《
            }