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,他对一些特殊的字符可能会出现你预想不到的结果,比如测试下面的代码:
用竖线 | 分隔字符串,你将得不到预期的结果JAVA分割字符串注意问题
String[] aa = "aaa|bbb|ccc".split("|");
//String[] aa = "aaa|bbb|ccc".split("\\|"); 这样才能得到正确的字符串结果
用 * 分隔字符串运行将抛出java.util.regex.PatternSyntaxException异常,用加号 + 也是如此。
String[] aa = "aaa*bbb*ccc".split("*");
//String[] aa = "aaa|bbb|ccc".split("\\*"); 这样才能得到正确的字符串结果
显然,+ * 不是有效的模式匹配规则表达式,用"\\*" "\\+"转义后即可得到正确的字符串结果。
"|" 分隔串时虽然能够执行,但是却不是预期的目的,得到的是每个字符的分割,而不是字符串,"\\|"转义后即可得到正确的字符串结果。
还有如果想在串中使用"\"字符,则也需要转义.首先要表达"aaaa\bbbb"这个串就应该用"aaaa\\bbbb",如果要分隔就应该这样才能得到正确结果:
String[] aa = "aaa\\bbb\\bccc".split("
\\\\");
注意当用"."分隔的时候, 要用"[.]" 进行分隔或"\\."进行分隔!
分享到:
相关推荐
在Java编程语言中,分割字符串是一项常见的操作,它允许我们将一个长字符串分解成多个子字符串,每个子字符串对应原字符串中的某一部分。这通常通过使用`split()`方法来实现,该方法是`String`类的一个实例方法。让...
当调用`split(regex)`时,Java会找到所有与`regex`匹配的子串,并在它们之间分割原始字符串,返回一个包含子字符串的数组。 让我们通过一个简单的例子来理解`split()`的使用: ```java String str = "Hello,World!...
4. 分割字符串的注意事项 - `split()`方法返回的是一个字符串数组,数组的长度等于字符串被分割的次数。 - 如果正则表达式没有匹配到任何内容,`split()`方法将返回原始字符串本身,数组长度为1。 - 分割后的结果不...
在编程领域,分割字符串函数是处理文本数据时非常常用的一种工具。它允许我们将一个长字符串按照特定的分隔符拆分成多个子字符串,方便我们进行后续的分析、处理或存储。这里,我们将深入探讨字符串分割函数的相关...
首先,我们来关注“分割字符串”这一主题。字符串分割是将一个长字符串依据特定的分隔符切割成多个子字符串的操作。在不同的编程语言中,这个过程有不同的实现方式。 在C语言中,`strtok()` 函数是用于分割字符串的...
在许多编程语言中,如Python、Java、JavaScript等,都提供了内置的字符串分割功能。这个功能允许我们将一个长字符串依据特定的分隔符切割成多个子字符串,从而方便我们进行数据解析、处理和分析。 在Python中,`...
### Java字符串查找和提取异常处理 #### 概述 本文将详细介绍如何在Java中实现字符串查找与提取功能,并在此过程中妥善处理可能出现的各种异常情况。通过分析提供的代码示例`IndexOfAndCharAt.java`,我们将了解到...
6. **字符串分割**:`split(String regex)` 方法可以按照正则表达式分割字符串,返回一个字符串数组。 #### 四、字符串的格式化 在实际应用中,我们可能还需要对字符串进行格式化处理,如日期格式化、数值格式化等...
字符串类提供了丰富的操作方法,如获取长度的`length()`,获取子串的`substring()`,查找子串的`indexOf()`,替换子串的`replace()`,以及分割字符串的`split()`等。在处理字符串时,可以使用`StringBuffer`或`...
在Java编程语言中,处理包含中文字符的字符串时,经常遇到的一个问题是如何正确地截取这些字符串。如果直接按照字节(byte)来进行分割,很容易导致中文字符被截断一半,从而形成乱码。这是因为一个中文字符通常占用多...
`StringTokenizer` 是Java中用于解析字符串的一个实用类,它可以按照指定的分隔符将字符串分割成多个部分。下面是一个简单的示例: ```java import java.util.StringTokenizer; public class Test { public ...
根据提供的文件信息,本文将详细解释Java中截取字符串的各种方法及其使用场景,并结合部分示例代码进行说明。 ### Java中截取字符串的方法 在Java编程语言中,字符串的处理是一项非常重要的技能,特别是在开发中...
7. **分割字符串**:`split()`方法根据给定的分隔符将字符串分割成多个子字符串,返回一个字符串数组。 8. **连接字符串**:`concat()`方法可以将两个字符串连接在一起,或者使用`+`运算符。 9. **去除空白字符**...
在这个主题中,我们将深入探讨如何在Java中使用`split()`方法以及`StringTokenizer`类来分割字符串。 首先,我们关注Java `String`类的`split()`方法。这个方法基于正则表达式来分割字符串。例如,在给定的代码示例...
### 分割字符串知识点详解 #### 一、概述 在日常的软件开发过程中,字符串操作是一项非常基础且重要的技能。无论是处理文本数据还是构建用户界面,都离不开对字符串的灵活运用。其中,“分割字符串”作为字符串...
以上就是解决"Java反转字符串单词但不改变标点符号位置"问题的方法。通过这种方法,我们可以有效地处理各种复杂的字符串输入,同时保持了标点符号的原始顺序。在实际编程中,这样的字符串处理技巧对于提高代码的...
5. 分割字符串:`split()`方法按照指定的分隔符将字符串分割成字符串数组。 ```java String[] words = str1.split(" "); ``` 三、字符串与字符数组 Java中的字符串不能直接转换为字符数组,但可以使用`toCharArray...
`split()` 方法是自JDK 1.4引入的,它基于正则表达式来分割字符串。方法签名如下: ```java public String[] split(String regex, int limit) ``` - `regex`:作为分隔符的正则表达式。 - `limit`:限制返回的数组...
在Java编程语言中,处理带有汉字的字符串时,由于汉字占据多个字节,按照字节进行截取可能会导致汉字被不完整地分割,从而产生乱码。为了解决这个问题,我们需要理解Unicode编码以及如何在Java中正确处理多字节字符...