JAVA分割字符串注意问题

原创 2007年10月11日 11:18:00
String.split方法

使用String.split方法时要注意的问题
在使用String.split方法分隔字符串时,分隔符如果用到一些特殊字符,可能会得不到我们预期的结果。
我们看jdk doc中说明
public String[] split(String regex)
Splits this string around matches of the given regular expression.
参数regex是一个 regular-expression的匹配模式而不是一个简单的String,他对一些特殊的字符可能会出现你预想不到的结果,比如测试下面的代码:
用竖线 | 分隔字符串,你将得不到预期的结果
String[] aa = "aaa|bbb|ccc".split("|");
//String[] aa = "aaa|bbb|ccc".split("//|"); 这样才能得到正确的结果
for (int i = 0 ; i System.out.println("--"+aa);
}
用竖 * 分隔字符串运行将抛出java.util.regex.PatternSyntaxException异常,用加号 + 也是如此。
String[] aa = "aaa*bbb*ccc".split("*");
//String[] aa = "aaa|bbb|ccc".split("//*"); 这样才能得到正确的结果
for (int i = 0 ; i System.out.println("--"+aa);
}
显然,+ * 不是有效的模式匹配规则表达式,用"//*" "//+"转义后即可得到正确的结果。
"|" 分隔串时虽然能够执行,但是却不是预期的目的,"//|"转义后即可得到正确的结果。
还有如果想在串中使用"/"字符,则也需要转义.首先要表达"aaaa/bbbb"这个串就应该用"aaaa//bbbb",如果要分隔就应该这样才能得到正确结果:
String[] aa = "aaa//bbb//bccc".split("////");

注意当用"."分隔的时候, 要用"[.]" 进行分隔!
 

java中split()在遇到空有时不能成功分隔

java中split()在遇到空有时不能成功分隔    Java中的我们可以利用split把字符串按照指定的分割符进行分割,然后返回字符串数组    split 方法       该方法的作用是:将...
  • lululove19870526
  • lululove19870526
  • 2015年09月09日 18:54
  • 5305

华为机试题: 将数组中的字符串按指定长度重新分割(java)

描述:  请实现接口 convertStringArray。 输入一个字符串数组, 请按指定长度iInputLenth拆分数组中的每个字符串,输出到新的字符串数组中。长度不是iInpu...
  • u010889616
  • u010889616
  • 2016年02月28日 16:51
  • 1771

Java中字符串的分隔问题 "|" "." "*" "_" 特殊符号解决方案

StringTokenizer(字符串分隔解析类型)java.util.StringTokenizer  功效:将字符串以定界符为界,分析为一个个的token(可理解为单词),定界符可以自己指定...
  • u013063153
  • u013063153
  • 2017年03月06日 16:30
  • 1449

java 竖线分割字符串的问题

今天做字符串分割的时候碰到一个奇怪的问题: 得到的结果跟预想的相去甚远,在网上找到这样的解释: http://www.cnblogs.com/haitao-fan/archive/2013/0...
  • duanmuxiao
  • duanmuxiao
  • 2015年05月13日 17:30
  • 254

java 关于split分割字符串,空结果不能得到的问题,多个分隔符的处理

出处   http://java2000-net.iteye.com/blog/242162 先看源代码 Java代码   /**   *    * @a...
  • jazywoo123
  • jazywoo123
  • 2011年12月08日 11:01
  • 3556

Java_字符串全排列大全_(已解决重复问题)

  • 2014年03月25日 14:05
  • 8KB
  • 下载

两道java面试题(回文字符串/子集和问题)

  • 2012年06月27日 15:03
  • 91KB
  • 下载

java分割字符串split()使用需注意的地方,转义字符使用

在Java程序中,由于系统类库的支持,分割字符串变得很容易,但是,在使用spilt方法时,有些细节不容忽视。当使用”+”、”?”、”\”、”“、”^”、”.”等特殊字符分割字符串时,若不进行特殊字符的...
  • chazihong
  • chazihong
  • 2017年08月08日 11:43
  • 368

JAVA 字符串分割split 的用法注意

对字符串"mysql.ip"进行分割,并取得首字 首先想到使用split通过"."进行分割,返回字符串数组,再 获取数组的第一个元素 因此代码执行String s=new String("mysq...
  • kaku21
  • kaku21
  • 2015年11月18日 11:54
  • 344

JAVA分割字符串的方法需要注意的!转义字符

使用String.split方法时要注意的问题 在使用String.split方法分隔字符串时,分隔符如果用到一些特殊字符,可能会得不到我们预期的结果。 我们看jdk doc中说明 public...
  • XingKong22star
  • XingKong22star
  • 2014年08月03日 16:27
  • 675
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JAVA分割字符串注意问题
举报原因:
原因补充:

(最多只允许输入30个字)