java关于String.split("|")的使用方式

网友投稿 449 2022-08-30


java关于String.split("|")的使用方式

目录String.split("|")的使用我们先来写一段代码测试一下你知道结果是什么吗?String.split() 特殊字符处理split函数特殊符号的处理示例

String.split("|")的使用

我们先来写一段代码测试一下

public class TestSplit {

public static void main(String[] a){

String test = "中文|英文";

print(test.split("|"));

print(test.split(""));

print(test.split("\\|"));

}

public static void print(String[] a){

System.out.println("============================");

for(String i:a){

System.out.println(i);

}

System.out.println("=aMMesMXPr===========================\n");

}

}

你知道结果是什么吗?

如下:

============================

中文|英文============================

============================

中文|英文============================

============================中文英文============================

所以我们从上面可以知道:“|”和“”的效果是一样的,如果你要得到正确的结果你必须这样“\|”,双引号里面的是一个正则表达式。

String.split() 特殊字符处理

jdk 1.8

split函数

注意,split函数的参数是正则表达式。split函数的定义为:

/**

* Splits this string around matches of the given

* href="../util/regex/Pattern.html#sum" rel="external nofollow" >regular expression

.

* href="../util/regex/Pattern.html#sum" rel="external nofollow" >regular expression

*

*

This method works as if by invoking the two-argument {@link

* #split(String, int) split} method with the given expression and a limit

* argument of zero. Trailing empty strings are therefore not included in

* the resulting array.

*

*

The string {@code "boo:and:foo"}, for example, yields the following

* results with these expressions:

*

*

*

*

*

*

*

*

*

*

*

*

*

* @param regex

* the delimiting regular expression

*

* @return the array of strings computed by splitting this string

* around matches of the given regular expression

*

* @throws PatternSyntaxException

* if the regular expression's syntax is invalid

*

* @see java.util.regex.Pattern

*

* @since 1.4

* @spec jsR-51

*/

public String[] split(String regex) { ... }

特殊符号的处理

split函数的参数是正则表达式,则正则表达式的特殊符号作为分隔符时,就需要特殊处理。

比如,.在正则表达式中是通配符,匹配除换行符(\n、\r)之外的任何单个字符。

对特殊符号的处理方法有两种:

转义。比如,\.放到中括号里。比如,[.]

示例

String[] s1 = "a.b.c".split("\\.");

System.out.println(Arrays.asList(s1)); //[a, b, c]

String[] s2 = "a.b.c".split("[.]");

System.out.println(Arrays.asList(s2)); //[a, b, c]


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:技术干货|API网关安全,API安全网关市场份额
下一篇:django官方教程部署simpleui时候发现加载不到静态文件解决办法
相关文章

 发表评论

暂时没有评论,来抢沙发吧~