split(|)正确使用方法split(\\|)
public class test {public static void main(String[] args) {String string = "liu|zhi|wei";String []name1 = string.split("\\|");String []name2 = string.split("|");for(String s:name1){System.out.print(s+" ");//结果:liu zhi wei}for(String s:name2){System.out.print(s+" ");//结果:l i u | z h i | w e i }}
}
在Java.lang包中有String.split()方法,返回是一个数组
我在应用中用到一些,给大家总结一下,仅供大家参考:
1、如果用“.”作为分隔的话,必须是如下写法:String.split(“\.”),这样才能正确的分隔开,不能用String.split(“.”);
2、如果用“|”作为分隔的话,必须是如下写法:String.split(“\|”),这样才能正确的分隔开,不能用String.split(“|”);
“.”和“|”都是转义字符,必须得加”\”;
3、如果在一个字符串中有多个分隔符,可以用“|”作为连字符,比如:“acount=? and uu =? or n=?”,把三个都分隔出来,可以用String.split(“and|or”);
使用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 <aa.length ; i++ ) {
System.out.println("--"+aa[i]);
}
用竖 * 分隔字符串运行将抛出java.util.regex.PatternSyntaxException异常,用加号 + 也是如此。
String[] aa = "aaa*bbb*ccc".split("*");
//String[] aa = "aaa|bbb|ccc".split("\\*"); 这样才能得到正确的结果for (int i = 0 ; i <aa.length ; i++ ) {
System.out.println("--"+aa[i]);
}
显然,+ * 不是有效的模式匹配规则表达式,用”\*” “\+”转义后即可得到正确的结果。
“|” 分隔串时虽然能够执行,但是却不是预期的目的,”\|”转义后即可得到正确的结果。
还有如果想在串中使用”\”字符,则也需要转义.首先要表达”aaaa\bbbb”这个串就应该用”aaaa\bbbb”,
如果要分隔就应该这样才能得到正确结果:
String[] aa = "aaa\\bbb\\bccc".split("\\\\");
split(|)正确使用方法split(\\|)相关推荐
- linux+多个字符分割字符串数组中,String的split()方法可以将字符串按照特定的分隔符拆分成字符串数组...
在java.lang包中有String.split()方法,返回是一个数组------不管按照什么拆,拆出来是一个数组 String str = "1,2,3,4,5,6"; St ...
- split函数python 未定义_Python字符串方法split()中的一道坑
初看这个方法还挺好用的,用来切割字符串真是的是非常方便,返回的字符串数组也非常容易处理. 于是乎看了一眼就应用到我的程序当中去了. 用来切割如下形式的字符串 s = 'Jul 24 21:38:25 ...
- 怎么把字符串变成数组_Java中字符串split() 的使用方法,没你想的那么简单
先看下面的方法,事先预测一下,经过split方法,按逗号进行分割为数组之后,生成的数组的长度是多少,目测很多人都觉得是8,但是结果却出乎意料.是5而不是8. private static void t ...
- Java中字符串split() 的使用方法
先看下面的方法,事先预测一下,经过split方法,按逗号进行分割为数组之后,生成的数组的长度是多少,目测很多人都觉得是8,但是结果却出乎意料.是5而不是8. private static void t ...
- 获取上传文件的后缀,.jpg,.png,.word,.xsl...使用方法split,lastindexOf,subtr
获取上传文件的后缀,.jpg,.png,.word,.xsl...使用方法split,lastindexOf,subtr 一.使用详情 使用场景 使用 效果 总结 一.使用详情 使用场景 有个需求,是 ...
- 字符串 splice()、split() 和slice()方法
一.作用对象 1.split()方法是对字符串的操作:splice()和slice()是对数组的操作.slice()也可用于字符串. 二.参数 1.split(separator,howmany) 参 ...
- Java实现split字符串分割方法
实现方法 split, 能够指定分割符将字符串拆分成字符串数组 思路如下: 统计字符串中的目标分割符的个数. 创建字符串数组并将其初始化为 "",不初始化的话字符串数组中就会是nu ...
- java split 冒号_Java中字符串split() 的使用方法,没你想的那么简单
先看下面的方法,事先预测一下,经过split方法,按逗号进行分割为数组之后,生成的数组的长度是多少,目测很多人都觉得是8,但是结果却出乎意料.是5而不是8. private static void t ...
- JavaScript中split()方法详解
欢迎访问我的个人博客 http://xiaolongwu.cn/ split()方法在js处理字符串是很常见,也是很重要的一种方法必须熟练掌握 split() 方法用于把一个字符串分割成字符串数组. ...
最新文章
- 从今天开始收集一些经典的算法。
- ubuntu错误解决。
- 3.数据类型,运算符,表达式
- RunLoop总结:RunLoop的应用场景(五)
- mysql 1个月多少天_在MySQL日期间隔中,1个月是否与30天相同? 1个季度与3个月相同吗?等等?...
- 一元操作符“++”,“- ” 之强制转换数值
- 如何在mac上面看充电器的瓦数!
- 结合 AOP 轻松处理事件发布处理日志
- day30 并发编程
- 通过动态获取cookie爬取国家企业信用信息公司系统
- Java基础知识Set、List、Map的区别
- 3.2.1 封装成帧、帧定界、帧同步、透明传输(字符计数法、字符串的首尾填充法、零比特填充的首尾标志法、违规编码法)(转载)
- 10分钟利用django搭建一个博客
- 阶段3 1.Mybatis_04.自定义Mybatis框架基于注解开发_3 基于注解的自定义再分析
- oracle varchar2 转换成date,将Oracle VARCHAR2转换为DATE并排除无效数据
- 蛋花花分享人工智能概念的诞生与发展
- 自己怎么制作GIF表情包 QQ动态图如何制作
- FMI飞马网 |【线上直播】持续集成在京东研发的落地及应用
- c语言 power 头文件,pow - [ C语言中文开发手册 ] - 在线原生手册 - php中文网
- qrCode二维码生成器