`
perfect5085
  • 浏览: 271665 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

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,他对一些特殊的字符可能会出现你预想不到的结果.

|
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("\\\\");//正确的结果
分享到:
评论

相关推荐

    String.split()方法使用总结

    标题明确指出本文将围绕`String.split()`方法的使用进行深入探讨,旨在总结其功能、用法以及一些实践中的注意事项。这表明文章的目标读者是对Java编程有一定了解,希望提升自己在字符串操作方面技能的人群。 ### ...

    Java中String.split()用法小结

    如果要作为分隔符使用,也需要进行转义,如`String.split("\\|")`、`String.split("\\*")`和`String.split("\\+")`。如果不进行转义,它们会被解析为正则表达式的一部分,导致不预期的结果或异常。 3. **多个分隔符...

    java的String[] split 示例

    `String[] split`方法是Java中处理字符串分割的强大工具,尤其当需要对大量文本数据进行预处理时。掌握如何正确使用正则表达式以及理解`split`方法的行为对于任何Java开发者来说都是至关重要的。此外,了解`limit`...

    String split函数

    2. 在使用 String split函数时,需要注意 limit 参数的使用。如果不指定 limit 参数,返回的数组将包含所有的分隔结果。 3. 在使用 String split函数时,需要注意分隔结果的顺序。String split函数将分隔结果返回为...

    字符串string.zip

    4. **字符串操作**:字符串可以进行连接(`+`运算符或`StringBuilder`/`StringBuffer`)、查找与替换(`indexOf()`, `replace()`, `replaceAll()`)、分割(`split()`)等操作。 5. **字符串与字符数组的转换**:`...

    asp.net下String.prototype.split()的兼容问题

    对于这个问题,开发者需要特别注意在使用`split()`时,IE浏览器可能不会正确处理正则表达式中的特殊字符。在上述例子中,分隔符`/:/`在IE中被当作两个单独的字符`:`和` `来处理,而不是作为一个匹配冒号的正则表达式...

    matlab开发-未经许可的Javascriptstring.zip.zip

    例如,你可以使用`lower`将字符串转换为小写,`upper`转换为大写,`isstrprop`检查字符串属性,`split`按分隔符分割字符串等。 2. JavaScript字符串: JavaScript是一种广泛用于网页开发的脚本语言,其字符串处理...

    Split用法大全

    Split方法是C#语言中string类的一个成员,用于将字符串拆分成多个子字符串。它有多种重载形式,能够根据不同的分隔符和规则来拆分字符串。 用法1:用字符串分隔 使用Regex.Split方法可以将字符串根据指定的分隔符...

    Java中Split的用法及注意

    需要注意的是,在使用 Split 方法时,需要小心正则表达式中的特殊字符。例如,在示例 5 中,我们使用竖线 (`|`) 作为正则表达式,但是竖线在正则表达式中有特殊的意义,所以我们需要使用转义字符 (`\\`) 来处理。...

    js实战之全部替代一个子串为另一个子串.pdf

    但是,需要注意的是,这种方法可能会出现性能问题,特别是当字符串非常长时。 方法三:使用String.prototype.replaceAll()方法 在ESNext中,引入了新的String.prototype.replaceAll()方法,该方法可以实现全量字符...

    用string拆分字符串.zip

    注意Java中需要使用反斜杠(`\`)来转义特殊字符,因为逗号和空格都是特殊的正则表达式字符。 3. **C++中的字符串拆分** C++没有内置的字符串拆分函数,但可以通过`std::getline()`结合`std::stringstream`实现。以下...

    split function

    在编程领域,`split()` 函数是一个非常常见且重要的字符串操作方法,广泛应用于各种编程语言,如Python、...在实际应用中,我们需要注意选择合适的分隔符,处理可能存在的边界情况,并根据需求灵活运用不同的参数设置。

    leetcode添加元素使和等于-LeetCode:LeetCode解决方案和技巧

    leetcode添加元素使和等于 Java tips String/StringBuilder: ...注意: . 、 | 和 * 等转义字符,必须得加 \。多个分隔符,可以用 | 作为连字符。 // 字符串转数组 java.lang.String String str = "0,1,

    JAVA_split_用法

    在Java编程语言中,`String`类提供了多个实用的方法来处理字符串,其中`split()`方法是用于将一个字符串分割成字符串数组的一种常见方式。此方法利用正则表达式(Regular Expression)作为分隔符来分割字符串,并...

    python分割和拼接字符串

    关于string的split 和 join 方法对导入os模块进行os.path.splie()/os.path.join() 貌似是处理机制不一样,但是功能上一样。1.string.split(str=’ ‘,num=string.count(str)): 以str为分隔,符切片string,如果num...

    String 优化

    5. **注意`String`对象的生命周期**:及时清理不再需要的`String`对象,利用垃圾收集机制回收内存。 通过理解`String`对象在JVM中的存储方式和优化技巧,开发者可以在编写代码时做出更明智的选择,从而提高程序的...

    Java字符串分隔方法split实践

    值得注意的是,`split()`方法在处理大量数据时可能会影响性能,因为它创建了一个子字符串数组。如果需要高效地处理大字符串,可以考虑使用`Pattern`和`Matcher`类,或者使用Java 8引入的流(Stream)API。 另外,`...

    javascript String split方法误操作

    - 当分隔符中含有特殊字符时,需要特别注意转义问题。 ```javascript var str = "2,2,3,5,6,6"; var strs = new Array(); strs = str.split(","); for (var i = 0; i < strs.length; i++) { document.write...

Global site tag (gtag.js) - Google Analytics