`

字符串分割--java中String.split()用法

阅读更多

在java.lang包中有String.split()方法,返回是一个数组。
  1、“.”和“|”都是转义字符,必须得加"\\";
  如果用“.”作为分隔的话,必须是如下写法:
String.split("\\."),这样才能正确的分隔开,不能用String.split(".");
如果用“|”作为分隔的话,必须是如下写法:
String.split("\\|"),这样才能正确的分隔开,不能用String.split("|");

  2、如果在一个字符串中有多个分隔符,可以用“|”作为连字符,比如:“acount=? and uu =? or n=?”,把三个都分隔出来,可以用
  String.split("and|or");

  3、public String[] split(String regex,int limit)根据匹配给定的正则表达式来拆分此字符串。
  此方法返回的数组包含此字符串的每个子字符串,这些子字符串由另一个匹配给定的表达式的子字符串终止或由字符串结束来终止。数组中
  的子字符串按它们在此字符串中的顺序排列。如果表达式不匹配输入的任何部分,则结果数组只具有一个元素,即此字符串。

  4、public string[] split(string regex)
  这里的参数的名称是 regex ,也就是 regular expression (正则表达式)。这个参数并不是一个简单的分割用的字符,而是一个正则表达式,

他对一些特殊的字符可能会出现你预想不到的结果,比如测试下面的代码: 

(1) 用竖线 | 分隔字符串,你将得不到预期的结果 

String[] aa ="aaa|bbb|ccc".split("|"); //String[] aa = "aaa|bbb|ccc".split("\\|"); 这样才能得到正确的结果 for(int i =0; i <aa.length ; i++){ System.out.println("--"+aa); }



(2)用竖 * 分隔字符串运行将抛出java.util.regex.PatternSyntaxException异常,用加号 + 也是如此。 

String[] aa ="aaa*bbb*ccc".split("*"); //String[] aa = "aaa|bbb|ccc".split("\\*"); 这样才能得到正确的结果 for(int i =0; i <aa.length ; i++){ System.out.println("--"+aa); }



(3)显然,+ * 不是有效的模式匹配规则表达式,用"\\*" "\\+"转义后即可得到正确的结果。 
(4) "|" 分隔串时虽然能够执行,但是却不是预期的目的,"\\|"转义后即可得到正确的结果。 
(5)还有如果想在串中使用""字符,则也需要转义.首先要表达"aaaa\bbbb"这个串就应该用"aaaa\\bbbb",如果要分隔就应该这样才能得到正确结果: 
String[] aa = "aaa\\bbb\\bccc".split(\\\\); 
(6) 还有就是点号".",也要首先转义才能得到正确的结果。


第一种方法: 

string s="abcdeabcdeabcde"; string[] sArray=s.Split('c'); foreach(string i in sArray)Console.WriteLine(i.ToString());

输出下面的结果:
ab 
deab 
deab 
de 

第二种方法: 
我们看到了结果是以一个指定的字符进行的分割。使用另一种构造方法对多个字符进行分割: 

string s="abcdeabcdeabcde"; string[] sArray1=s.Split(newchar[3]{'c','d','e'}); foreach(string i in sArray1)Console.WriteLine(i.ToString());

可以输出下面的结果: 
ab 
ab 
ab 

第三种方法: 
除了以上的这两种方法以外,第三种方法是使用正则表达式。新建一个控制台项目。
然后先添加 using System.Text.RegularExpressions; 

usingSystem.Text.RegularExpressions string content=agcsmallmacsmallgggsmallytx; string[] resultString=Regex.Split(content,small,RegexOptions.IgnoreCase) foreach(string i in resultString) Console.WriteLine(i.ToString());

输出下面的结果: 
agc
mac
ggg 
ytx 

第四种方法:

string str1="我*****是*****一*****个*****教*****师"; string[] str2; str1=str1.Replace("*****","*"); str2=str1.Split(’*‘);foreach(string i in str2) Console.WriteLine(i.ToString());



第五种方法: 
string str1=”我**是*****一*****个*****教*****师“; 
我希望显示的结果为:我是一个教师。 我如果采用上面的第四种方法来做就会产生下面的错误:我 是一个教师。中间有空格输出,所以输出结果并不是希望的结果,这就又回到了正则表达式了,这时可以采用下面的第五种方法: 

string str1=‘我**是*****一*****个*****教*****师“; string[] str2 =System.Text.RegularExpressions.Regex.Split(str1,@[*]+); foreach(string i in str2) Console.WriteLine(i.ToString());

这里通过[*]+ 巧妙的完成了我们的目标。

分享到:
评论

相关推荐

    String.split()方法使用总结

    在Java编程语言中,`String.split()`方法是一个非常实用且强大的工具,用于将字符串分割成字符串数组,基于正则表达式或指定的分隔符。这个方法为处理文本数据提供了极大的灵活性,尤其在解析CSV文件、配置文件或者...

    Java字符串分隔方法split实践

    这个方法允许我们根据特定的分隔符将一个字符串分割成多个子字符串,这对于数据解析、格式转换等场景非常有用。在本文中,我们将深入探讨`split()`方法的实践应用。 `split()`方法位于`java.lang.String`类中,它的...

    Java中String.split()用法小结

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

    java 字符串分割

    在 Java 中,我们可以使用 String 类的方法来实现字符串分割,例如使用 split() 方法将字符串分割成数组。 知识点二:Java 中的字符串分割方法 在 Java 中,我们可以使用多种方法来实现字符串分割,例如: 1. ...

    java的String[] split 示例

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

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

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

    JAVA中字符-字符串常用的方法.doc

    此外,Java 中还提供了许多其他的字符-字符串处理方法,例如 String 类的 `replaceAll()` 方法、`replaceFirst()` 方法、`split()` 方法等,这些方法可以实现各种字符串处理操作。 Java 中的字符-字符串常用方法为...

    浅谈java String.split丢失结尾空字符串的问题

    这样,`split()`方法就会正确地将字符串分割成`"1"`、`"2"`和一个空字符串`""`,并将它们都放入结果数组中。 总结来说,Java的`String.split()`方法在处理结尾空字符串时,可能因为默认行为而丢失这部分内容。为了...

    Java 实例 - 字符串分割源代码-详细教程.zip

    `split()`方法是`java.lang.String`类的一个实例方法,它根据提供的正则表达式将字符串分割成多个子字符串,并返回一个字符串数组。例如: ```java String str = "Hello,World,Java"; String[] parts = str....

    字符串逆序-使用Java实现的字符串按单词逆序.zip

    1. 使用`split()`方法:这个方法可以按照指定的分隔符(如空格)将字符串分割成单词,返回一个字符串数组。 2. 反转数组:Java的`Arrays`类提供了一个`reverse()`方法,可以用来反转数组元素的顺序。 3. 使用`join()...

    Java分割字符串

    总结,Java中的字符串分割是通过`split()`方法实现的,依赖于正则表达式进行精确的分割。理解正则表达式和`split()`方法的用法对于处理复杂的字符串处理任务至关重要。在实际编程中,根据需求选择合适的正则表达式和...

    commons-lang-StringUtils.zip

    3. **分割与合并**:`StringUtils.split(String str, char separatorChar)`允许你根据指定的分隔符将字符串分割成数组,而`StringUtils.join(Object[] array, String separator)`可以将数组元素合并为一个字符串,...

    字符串分割

    在Python中,`split()`函数是用于字符串分割的主要方法。它接受一个可选参数(默认为空格)作为分隔符,返回一个由子字符串组成的列表。例如: ```python text = "Hello,World,This,Is,A,Test" result = text.split...

    String类的intern、split方法

    String 类的 split 方法用于将一个字符串分割成多个子字符串,根据给定的正则表达式来拆分此字符串。该方法返回一个数组,其中包含此字符串的每个子字符串,这些子字符串由另一个匹配给定的表达式的子字符串终止或由...

    字符串string.zip

    在本压缩包“字符串string.zip”中,主要包含的是与Java编程语言中字符串相关的教学资料,特别是针对S1课程的学员。这个课程旨在帮助学生深入理解程序逻辑,并且重点聚焦在Java中的字符串处理。文件“Chapter15”...

    Python超详细入门到精通自学视频课程-3-字符串输出.ev4.rar

    8. **字符串分隔**:`split()`方法可以根据指定的分隔符将字符串分割成列表,`join()`方法则将列表元素用指定字符串连接起来。例如,`s = "apple,banana,orange"; fruits = s.split(",")`。 9. **字符串编码与解码*...

    Java字符串逗号分割实现.pptx.pptx

    - `split()`方法是实现字符串分割的核心工具,它能按照指定的分隔符(正则表达式)将字符串拆分成数组。 - 例如,如果字符串`"a,b,c"`,调用`str.split(",")`会得到`["a", "b", "c"]`的数组。 5. **将字符串转换...

    java 分割字符串

    `split()`方法接受一个正则表达式作为参数,然后根据这个正则表达式将字符串分割成多个部分,并返回一个字符串数组。如果正则表达式匹配到的是空字符串,那么相邻的字符也会被分割。 ### 2. 使用示例 下面是一个...

    JAVA 字符串 操作

    `split()`方法:根据指定的分隔符将字符串分割成多个子字符串,返回一个字符串数组。 7. 遍历字符串: 可以使用增强for循环或迭代器遍历字符串中的每个字符。 8. 字符串转其他类型: - `parseInt()`, `...

    java中的String类常用方法解析(一)

    - `split(String regex)`:根据正则表达式将字符串分割成数组。 8. **获取字符/字节数组** - `toCharArray()`:将字符串转换为字符数组。 - `getBytes()`:将字符串转换为字节数组,使用平台默认编码。 9. **...

Global site tag (gtag.js) - Google Analytics