String 的 split 的用法之Dangling meta character '?' near index 0

作者:金良([email protected]) csdn博客:http://blog.csdn.net/u012176591

String 的 split 的用法之Dangling meta character '?' near index 0_第1张图片

举个例子:

     String data="你是我心中一首歌.mp4?不老的传说.mp4?传奇.mp4?丁香花.mp4?歌剧2.mp4?菊花台.mp4?猫和老鼠.mp4?ForYou.mp4?鸟儿.mp4?千千阙歌.mp4?甜蜜蜜.mp4?外婆的澎湖湾.m4v?心中的日月.mp4?星星.mp4?因为爱情.mp4?樱花.mp4?最浪漫的事.mp4?";

     很容易看出字符串data是用符号"?"连接起来的一连串的MP4文件的名字,怎么把这些名字取出来,并放到一组字符串数组里呢?我们用solit()函数来完成这个功能,下面是执行语句:

String[] nameList = data.split("?");

但是编译出错,出错信息如下:

Exception in thread "main" java.util.regex.PatternSyntaxException: Dangling meta character '?' near index 0 ?

这是因为+、*、|、\等符号在正则表达示中有相应的不同意义。一般来讲只需要加[]、或是\\即可.

现在修改如下:

String[] nameList = data.split("\\?");

通过了编译.

看一下字符串数组nameList 的具体内容,语句如下:

      for(int i=0;i<nameList.length;i++) {
               System.out.println(nameList[i]);
               }

输出结果显示如下:

      你是我心中一首歌.mp4
      不老的传说.mp4
      传奇.mp4
      丁香花.mp4
      歌剧2.mp4
      菊花台.mp4
      猫和老鼠.mp4
      ForYou.mp4
      鸟儿.mp4
      千千阙歌.mp4
      甜蜜蜜.mp4
      外婆的澎湖湾.m4v
      心中的日月.mp4
      星星.mp4
      因为爱情.mp4
      樱花.mp4
      最浪漫的事.mp4

对比最初的数据:

String data="你是我心中一首歌.mp4?不老的传说.mp4?传奇.mp4?丁香花.mp4?歌剧2.mp4?菊花台.mp4?猫和老鼠.mp4?ForYou.mp4?鸟儿.mp4?千千阙歌.mp4?甜蜜蜜.mp4?外婆的澎湖湾.m4v?心中的日月.mp4?星星.mp4?因为爱情.mp4?樱花.mp4?最浪漫的事.mp4?"; 

可以看出已经完美地实现了功能.

   

      


   




你可能感兴趣的:(meta,异常,split,Dangling,charac)