因为近期项目总结的时候,关于分割字符串和字符比较出现了一些问题,因此在这里记录一下各种情况下字符串分割应该注意的问题,以备之后的项目开发中参照。
- java中关于字符分割应该注意的几点问题。
(一) 在java.lang包中有String.split()方法,返回是一个数组,这个也是我们分割字符的时候经常使用的方法。关于这个方法的使用留意下面几点:
- 如果用“.”作为分隔的话,必须是如下写法:String.split("\\."),这样才能正确的分隔开,不能用String.split(".")。
- 如果用“|”作为分隔的话,必须是如下写法:String.split("\\|"),这样才能正确的分隔开,不能用String.split("|")。"|" 分隔串时虽然能够执行,但是却不是预期的目的,"\\|"转义后即可得到正确的结果。
- 如果在一个字符串中有多个分隔符,可以用“|”作为连字符,比如:“acount=? and uu =? or n=?”,把三个都分隔出来,可以用String.split("and|or")。
- "+" "*"同样也不是有效的模式匹配规则表达式,用"\\+" "\\*"转义后即可得到正确的结果;
- 如果想在串中使用"\"字符,则也需要转义.首先要表达"temp\demo"这个串就应该用"temp\\demo",如果要分隔就应该这样才能得到正确结果:String[] strlist = "temp0\\temp1\\temp2".split("\\\\")。
- 可以利用正则表达是进行分割,例如:
1 String strtemp = "{1,att,7},{2,break,7},{3,crit,7},{4,combo,7},{5,break,7},{6,hit,7}"; 2 String reg = "/,(?=\\{)/g"; 3 String[] temp = strtemp.split(reg);