`

Java String.split()用法小结

    博客分类:
  • Java
 
阅读更多

在java.lang包中有String.split()方法返回是一个数组

我在应用中用到一些给大家总结一下仅供大家参考

1、如果用“.”作为分隔的话必须是如下写法String.split("\\."),这样才

能正确的分隔开不能用String.split(".");

2、如果用“|”作为分隔的话必须是如下写法String.split("\\|"),这样才

能正确的分隔开不能用String.split("|");

“.”和“|”都是转义字符必须得加"\\";

3、如果在一个字符串中有多个分隔符可以用“|”作为连字符比如“acount=?

and uu =? or n=?”,把三个都分隔出来可以用String.split("and|or");

使用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 <aa.length ; 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 <aa.length ; i++ ) {

      System.out.println("--"+aa[i]); 

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

确的结果。

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

确的结果。

还有如果想在串中使用"\"字符则也需要转义.首先要表达"aaaa\bbbb"这个串

就应该用"aaaa\\bbbb",如果要分隔就应该这样才能得到正确结果

String[] aa = "aaa\\bbb\\bccc".split("\\\\");

 

第一种方法

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(new char[3]{'c','d','e'}) ;

foreach(string i in sArray1)

Console.WriteLine(i.ToString());

可以输出下面的结果

ab

ab

ab

第三种方法

除了以上的这两种方法以外,第三种方法是使用正则表达式。新建一个控制台项

目。然后先添加 using System.Text.RegularExpressions;

System.Text.RegularExpressions

 

string content=agcsmallmacsmallgggsmallytx;

string[]resultString=Regex.Split(content,small,RegexOptions.IgnoreCas

e) 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());

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

分享到:
评论

相关推荐

    Java中String.split()用法小结

    总之,`String.split()`方法是Java中进行字符串切割的重要工具,正确理解和使用正则表达式转义规则是关键。在编写代码时,一定要注意特殊字符的处理,确保它们被正确地解析为分隔符,而不是正则表达式的一部分。同时...

    java String类常用方法练习小结

    理解并熟练使用`String`类的方法对于Java开发者来说至关重要。通过实践,你可以更好地掌握字符串操作,从而编写出更加高效和优雅的代码。记得在处理字符串时考虑到其不可变性,并根据需要选择合适的方法来完成任务。

    JAVA中STRING的常用方法小结

    本文将对Java中String类的常用方法进行详细的总结,帮助开发者更好地理解和使用这些方法。 首先,创建和初始化一个String对象通常有两种方式。第一种是直接赋值,如`String b = "hello";`,这里创建了一个包含...

    Java和scala实现 Spark RDD转换成DataFrame的两种方法小结

    Java 和 Scala 实现 Spark RDD 转换成 DataFrame 的两种方法小结 在本文中,我们将讨论如何使用 Java 和 Scala 将 Spark RDD 转换成 DataFrame,並且介绍两种实现方法。 准备数据源 在项目下新建一个 student.txt...

    投票管理系统-java.doc

    3. **字符串分析器**:在处理用户输入的候选人名单时,可能需要使用String类的方法,如split(),将候选人名列表分割成单独的字符串。这使得系统能识别并处理每个候选人的信息。 4. **选择框(Checkbox)**:在投票...

    javascript cookie操作类的实现代码小结附使用方法

    第一种方法:cookie操作类,代码封装了,下面也有使用方法,大家可以参考下。 代码如下: String.prototype.Trim = function() { return this.replace(/^\s+/g,””).replace(/\s+$/g,””); } function JSCookie() {...

    Java高级面试题小结

    "Java高级面试题小结" 本文主要介绍了Java高级面试题,包括对部分名词的释义及代码解析,具有一定收藏价值,需要的朋友可以参考下。以下是对标题和描述中所说的知识点的详细解释: 一、可变参数 可变参数允许调用...

    Java常用字符串方法小结

    如果忽略大小写,可以使用`equalsIgnoreCase()`方法。 4. **字符串截取**:使用`substring()`方法可以从字符串中提取子串。例如,`my.substring(11, 19)`会返回"cai yu fei"。 5. **查找子串**:`indexOf()`方法...

    java读取csv文件内容示例代码

    Java 读取 CSV 文件内容示例代码 ...小结 Java 读取 CSV 文件内容是一种常见的数据处理操作,CsvUtil 类提供了读取 CSV 文件、获取行数、获取列数、获取指定行和获取指定列等功能,可以满足大多数的数据处理需求。

    Java实现获取客户端真实IP方法小结

    String[] ips = ip.split(","); for (int i = 0; i &lt; ips.length; i++) { if (!"unknown".equalsIgnoreCase(ips[i].trim())) { return ips[i].trim(); } } return ip; } ``` 这个改进的方法首先尝试获取`X-...

    Android与服务器端数据交互(基于SOAP协议整合android+webservice)_.docx

    #### 五、小结 通过上述步骤,我们可以实现在Android应用中调用基于SOAP协议的Web服务。这种方式不仅能够帮助开发者实现跨平台的远程服务调用,还能够在资源受限的移动设备上提供高效的数据交换能力。在实际应用...

    Java实验指导书(实验七).doc

    1. **字符串类**:掌握Java语言中字符串相关类(如`String`类)的使用方法。 2. **正则表达式**:理解正则表达式的原理及其在Java中的应用。 3. **数学运算类**:熟悉Java中`Math`类及`BigInteger`类的功能和用法。 ...

    Ext Js权威指南(.zip.001

    1.6 本章小结 / 33 .第2章 从“hello world”开始 / 34 2.1 获取ext js 4 / 34 2.2 配置使用ext js库 / 35 2.3 编写“hello world”程序 / 37 2.4 关于ext.onready / 38 2.5 关于ext.blank_image_url / 40 ...

    16 个有用的的Java工具类(小结)

    Java 工具类总结 Java 工具类是一组常用的公共方法,帮助开发者简化代码和提高开发效率。...这些工具类涵盖了 Java 编程中常见的 IO 操作、文件操作、字符串操作等多个方面,使用它们可以简化代码和提高开发效率。

    RED HAT LINUX 6大全

    1.5 小结 4 第2章 Red Hat系统的安装 5 2.1 准备,认真准备 5 2.2 安装Red Hat Linux 6 2.2.1 创建引导盘和辅助盘 6 2.2.2 不利用引导软盘进行安装 7 2.2.3 虚拟控制台 7 2.2.4 对话框 7 2.3 一步步地安装 7 2.3.1 ...

    从dubbo zookeeper注册地址提取出zookeeper地址的方法

    小结 ---- 在本文中,我们讨论了如何从 Dubbo 注册地址中提取出 Zookeeper 地址的方法。我们使用 Java 语言编写了一个简单的方法,用于处理 Dubbo 注册地址并提取出 Zookeeper 地址。这个方法可以在各种应用程序中...

    Javascript学习总结

    - **转换大小写**:使用`toUpperCase()`和`toLowerCase()`方法。 - **字符串转换成数组**:使用`split()`方法。 - **拼接字符串的优化方法**:使用模板字符串(ES6引入)或数组的`join()`方法。 #### 19. Date 对象...

Global site tag (gtag.js) - Google Analytics