`
penghao122
  • 浏览: 362728 次
  • 性别: Icon_minigender_1
  • 来自: 广东珠海
社区版块
存档分类
最新评论

String 中split用法注意

JDK 
阅读更多
在使用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       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       System.out.println("--"+aa[i]);
    }

显然,+ * 不是有效的模式匹配规则表达式,用"\\*" "\\+"转义后即可得到正确的结果。

"|" 分隔串时虽然能够执行,但是却不是预期的目的,"\\|"转义后即可得到正确的结果。

还有如果想在串中使用"\"字符,则也需要转义.首先要表达"aaaa\bbbb"这个串就应该用"aaaa\\bbbb",如果要分隔就应该这样才能得到正确结果:

String[] aa = "aaa\\bbb\\bccc".split("\\\\");
分享到:
评论

相关推荐

    String.split()方法使用总结

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

    C#中Split用法

    `Split`方法定义于`System.String`类中,它允许用户通过不同的分隔符将字符串拆分成子字符串。这些子字符串会被存储在一个数组中以便进一步处理。 #### 二、基本用法 `Split`方法可以接受多种类型的分隔符,包括...

    C#中Split用法详细介绍

    在本文中,我们将详细探讨`Split`方法的各种用法,以及如何在不同场景下有效地使用它。 首先,让我们回顾一下提供的示例: 1. 用字符串分隔: ```csharp string str = "aaajsbbbjsccc"; string[] sArray = ...

    Split用法大全

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

    JAVA_split_用法

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

    Java中Split的用法及注意

    Java 中 Split 的用法及注意 Java 中的 Split 方法是通过正则表达式来拆分字符串的,它可以将一个字符串分割为子字符串,然后将结果作为字符串数组返回。该方法的语法为 `stringObj.split(regex, [limit])`,其中 `...

    Java中String.split()用法小结

    Java中的`String.split()`方法是用于将一个字符串按照指定的分隔符进行切割,返回一个字符串数组。这个方法是基于正则表达式的,因此在处理某些特殊字符时需要注意字符的转义。 1. **基本用法** `String.split()`...

    C# 中string.split用法详解

    string[] sArray=s.Split('c') ; foreach(string i in sArray) Console.WriteLine(i.ToString()); 输出下面的结果: ab deab deab de 第二种方法 我们看到了结果是以一个指定的字符进行的分割。使用另一种构造方法对...

    ASP.NET中split的用法

    在ASP.NET中,`Split`方法是处理字符串分割的一个强大工具,它允许开发者根据特定的分隔符将字符串拆分成数组。以下是从给定文件中提取的关于ASP.NET中`Split`方法使用的详细知识点,包括不同场景下的应用实例。 ##...

    java的String[] split 示例

    下面,我们将深入探讨`String[] split`方法的用法及其在实际代码中的应用。 ### `String[] split`方法概述 `String[] split`是`String`类的一个实例方法,用于基于正则表达式将一个字符串分割成一个字符串数组。其...

    Python中split()的用法.docx

    Python 中 split() 的用法 Python 中的 split() 函数是一个非常有用的字符串处理函数,它可以将字符串拆分成多个子字符串,并返回一个列表。该函数的语法为:str.split(str="", num=string.count(str))[n]。 其中...

    Android中Split()字符串分割特殊用法案例详解

    2.特殊用法–当split()分割字符串遇上特殊符号 案例分析 String str = abc|dfg; String[] all=str.split(|); system.out.println(all[0]); 结果为 a 原因分析 | 在正则表达式中是个已经被使用的特殊符号(”.”、”...

    java中的split的用法

    `split`方法是Java `String`类中的一个成员方法,其主要功能是从当前字符串中根据指定的正则表达式进行分割,并返回一个字符串数组。这意味着我们可以使用它来按照特定的分隔符或者模式将字符串拆分成多个子串。 ##...

    C# split 函数的用法

    在C#编程语言中,`Split` 方法是处理字符串时非常常用的一个功能。它能够将一个较长的字符串按照指定的分隔符分割成多个子字符串,并将这些子字符串存储在一个数组中。这对于数据解析、文本处理等应用场景极为有用。...

    C#中split用法实例总结

    本文实例总结了C#中split用法。分享给大家供大家参考,具体如下: 以下是我转载的两个不同的人的,方便大家及自己查阅 string s=abcdeabcdeabcde; string[] sArray=s.Split(c); foreach(string i in sArray) ...

    vbscript Split函数用法详解(字符串转数组函数)

    在这里,Split函数用于从日期字符串中提取年份部分,然后使用Format函数将其格式化为"yyyy-mm-dd"格式。 总的来说,VBSplit函数是处理字符串时不可或缺的工具,能够帮助开发者有效地解析和操作文本数据。通过理解其...

Global site tag (gtag.js) - Google Analytics