java 中split()方法使用注意

本文详细介绍了Java中String.split()方法的使用技巧,包括如何正确地使用分隔符,特别是对于特殊字符如“.”和“|”,并给出了具体的示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

装载自:http://www.cnblogs.com/liubiqu/archive/2008/08/14/1267867.html


在java.lang包中也有String.split()方法,与.net的类似,都是返回是一个字符型数组,但使用过程中还有一些小技巧。
如执行:"2|33|4".split("|")

出来的结果是:

""

2

|

3

3

|

4

奇怪吧,不过注意看一下API说明还是知道原因的.

 

java.lang.string.split
split 方法
将一个字符串分割为子字符串,然后将结果作为字符串数组返回。
stringObj.split([separator,[limit]])
参数
stringObj
必选项。要被分解的 String 对象或文字。该对象不会被 split 方法修改。
separator
可选项。字符串或 正则表达式对象,它标识了分隔字符串时使用的是一个还是多个字符。如果忽略该选项,返回包含整个字符串的单一元素数组。
limit
可选项。该值用来限制返回数组中的元素个数。

说明
split 方法的结果是一个字符串数组,在 stingObj 中每个出现 separator 的位置都要进行分解

 

 

所以正常的写法是这样的:

1、如果用“.”作为分隔的话,必须是如下写法:String.split("\\."),这样才能正确的分隔开,不能用String.split(".");
2、如果用“|”作为分隔的话,必须是如下写法:String.split("\\|"),这样才能正确的分隔开,不能用String.split("|");
“.”和“|”都是转义字符,必须得加"\\";
3、如果在一个字符串中有多个分隔符,可以用“|”作为连字符,比如:“a=1 and b =2 or c=3”,把三个都分隔出来,可以用String.split("and|or");

### 回答1: split()方法java中用于将一个字符串按照指定分隔符分割成多个子字符串的方法。它返回一个字符串数组,其中每个元素都包含被分隔符分隔开的一部分字符串。split()方法使用非常简单,只需传入一个分隔符,即可将目标字符串分割成多个子字符串。例如,可以使用以下代码将一个以逗号分隔的字符串分割成多个子字符串: String str = "apple,banana,pear"; String[] arr = str.split(","); 这样,arr数组就包含了3个元素,分别为"apple"、"banana"和"pear"。如果目标字符串中没有指定的分隔符,则返回一个只包含该字符串本身的数组。 ### 回答2: Java中的split()方法是一个字符串方法,用于将一个字符串拆分成一个字符串数组。split()方法接收一个正则表达式作为参数,并根据该正则表达式将字符串拆分成多个子字符串。 例如,我们有一个字符串"Hello,World",我们可以使用split()方法将其拆分成两个子字符串"Hello"和"World"。我们可以采用以下方式使用split()方法: String str = "Hello,World"; String[] parts = str.split(","); // 使用逗号作为分隔符进行拆分 在这个例子中,我们首先创建了一个字符串"Hello,World",然后使用split()方法将其拆分成一个字符串数组。我们将逗号作为分隔符传递给split()方法,它会根据逗号将字符串拆分成两个子字符串"Hello"和"World",然后将这些子字符串存储在数组中。 接下来,我们可以使用数组索引访问拆分后的子字符串,例如: String part1 = parts[0]; // part1 = "Hello" String part2 = parts[1]; // part2 = "World" 此外,我们还可以使用限制参数来指定拆分的次数。例如: String str = "Hello,World,Goodbye"; String[] parts = str.split(",", 2); // 使用逗号作为分隔符进行拆分,最多拆分成两个子字符串 在这个例子中,我们将限制参数设置为2,意味着我们只拆分字符串两次。结果将是一个包含两个元素的数组,第一个元素是"Hello",第二个元素是"World,Goodbye"。 总而言之,Java中的split()方法是一个用于字符串拆分的有用方法。它接收一个正则表达式作为参数,并根据该正则表达式将字符串拆分成多个子字符串,然后将这些子字符串存储在一个字符串数组中。我们还可以使用限制参数来指定最多拆分的次数。 ### 回答3: split()方法Java中的一个字符串方法,它用于将一个字符串分割成一个字符串数组。split()方法接受一个正则表达式作为参数,并根据该正则表达式将原始字符串分割成若干个子串。 使用split()方法的语法如下: String[] stringArray = str.split(regex); 其中,str是要进行分割的原始字符串,regex是用于分割的正则表达式。 split()方法的返回值是一个字符串数组,该数组包含了根据正则表达式分割后的子串。 举一个例子,假设有一个字符串str = "Hello World,How are you?",我们想要根据逗号和空格分割这个字符串,可以使用split()方法实现: String[] stringArray = str.split("[,\\s]+"); 在上述例子中,正则表达式"[,\\s]+"表示逗号和空格的一个或多个连续。这样,原始字符串会被分割成三个子串:"Hello", "World"和"How are you?"。 需要注意的是,split()方法返回的字符串数组的长度取决于分割后产生的子串数量。如果没有匹配到符合分割条件的子串,split()方法将返回原始字符串本身。 总结起来,split()方法可以根据正则表达式将一个字符串分割成一个字符串数组,为我们在处理字符串时提供了方便和灵活性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值