码迷,mamicode.com
首页 > 编程语言 > 详细

Java开发:字符串切割split函数——切割符转码注意事项

时间:2019-11-16 12:58:50      阅读:105      评论:0      收藏:0      [点我收藏+]

标签:str   java   spl   mamicode   code   class   http   col   表达式   

一、问题如下:

  1、先对一个已有字符串进行操作,使用     ;     进行分割:

//示例字符串
String string="sr1.db1.tb1.df1;sr2.db2.tb2.df2;";
//先用;进行分割
String a[]=string.split(";");
for(String str:a)
{
    System.out.println(str);
}

  此处切割之后的结果是没有问题的,结果为:

  技术图片

  2、对切割完的结果再用     .     进行切割:

//示例字符串
String string="sr1.db1.tb1.df1;sr2.db2.tb2.df2;";
//先用;进行分割
String a[]=string.split(";");
for(String str:a)
{
    String b[]=str.split(".");
    for(String str2:b)
    {
        System.out.println(str2);
    }
}

  此时就会报错,无法得出结果

二、问题解析

  split方法的参数是正则表达式,在使用字符或字符串作切割符时要注意对某些字符做转码

  就像之前问题里使用   ;   进行切割就没什么问题,但是使用   .   进行切割就会出现报错。     在正则表达式中表示任意字符,如果要通过.号做分割,则需要使用双斜杠或者Pattern.quote()方法对其进行转码:

split("\\.")
split(Pattern.quote("."))

  这样问题就得到了解决:

//示例字符串
String string="sr1.db1.tb1.df1;sr2.db2.tb2.df2;";
//先用;进行分割
String a[]=string.split(";");
for(String str:a)
{
    String b[]=str.split(Pattern.quote("."));
    for(String str2:b)
    {
        System.out.println(str2);
    }
}

  结果如下:

  技术图片

 

Java开发:字符串切割split函数——切割符转码注意事项

标签:str   java   spl   mamicode   code   class   http   col   表达式   

原文地址:https://www.cnblogs.com/guobin-/p/11871137.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!