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;
using System.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());
转自:http://blog.163.com/zs_note/blog/static/199386112201110804233558/
相关推荐
Apache Commons Lang 是一个由 Apache 软件基金会开发的 Java 类库,它提供了一系列实用工具类,用于增强 JDK 内置的 String 类的功能。在给定的标题 "org.apache.commons.lang3.StringUtils.jar.rar" 中,我们可以...
在Java编程语言中,`java.lang.String`是最重要的类之一,它是所有字符串操作的基础。这个类位于核心类库中,因此无需显式导入即可使用。本文将深入探讨`String`类的一些关键知识点,包括它的特性、构造方法、常用...
它们由`java.lang.String`类表示,提供了丰富的操作方法,如`length()`用于获取字符串长度,`charAt(int index)`用于访问特定位置的字符,以及`substring(int beginIndex, int endIndex)`用于截取子字符串。...
`split()`方法位于`java.lang.String`类中,它的基本语法如下: ```java public String[] split(String regex) ``` 这里的`regex`参数是一个正则表达式,用于定义分隔字符串的规则。正则表达式是一种强大的文本...
Commons Lang是Apache软件基金会开发的一个Java工具包,它提供了许多实用的函数,扩展了Java标准库中关于字符串处理的功能。`StringUtils`类是这个工具包中的核心类之一,专门用于处理字符串的各种操作,包括但不...
Java语言提供了多种常用包,包括java.lang、String、StringBuffer、Math、Object、Class、Constructor、Method、Field、Date、Calendar、SimpleDateFormat、File等。这些包中的类和方法为Java开发提供了强大的支持。...
leetcode添加元素使和等于 Java tips String/StringBuilder: String.charAt(); String.length(); str.remove('a','b') 把str中的a都换成b split("分隔符的选择");...java.lang.String String str = "0,1,
<%@ attribute name="separatorChars" type="java.lang.String" required="false" %> <%@ attribute name="str" type="java.lang.String" required="true" %> String sepChars = separatorChars == null ? ":" : ...
4. **StrSpliter.java**:字符串分割通常使用`String.split()`方法,但这个类可能提供了更灵活的分割策略,比如按照自定义规则分割,或者支持多参数分割。 5. **ImageUtil.java**:图像处理涉及到读取、保存、缩放...
Java.lang.String类是Java语言中的一种基本数据类型,该类的定义、字段属性、构造方法、equals方法、hashCode方法、charAt方法、compareTo方法、concat方法、indexOf方法、replace方法、split方法、substring方法、...
`String`类位于`java.lang`包中,是所有Java程序的基础。 2. **字符串创建**:Java提供了多种创建字符串的方法,如使用`new`关键字初始化,或者使用字符串字面量。例如: ```java String str1 = "Hello"; String...
`String`类位于`java.lang`包中,因此在使用时无需显式导入。 下面我们将详细讲解几个重要的`String`类的方法: 1. **构造方法**: - `String()`:创建一个空字符串。 - `String(char[] array)`:根据字符数组...
JAVA 中有许多常用的类,每个类都有其特定的方法,本文将对 java.lang.Object 类、String 类和 StringBuffer 类的常用方法进行讲解。 一、java.lang.Object类 java.lang.Object 类是 JAVA 中所有类的父类,它提供...
首先,Java中的字符串实际上是一个表示`char`值序列的对象,它是由`java.lang.String`类定义的。字符串在内存中的处理非常特别,它们存储在称为“字符串常量池”的区域,这是一个优化内存使用的策略。当使用字符串...
首先,`String`类位于`java.lang`包中,这意味着在编写Java程序时,我们无需显式导入它。`String`对象一旦创建,其内容就不能改变,这种特性使得`String`在处理文本数据时具有高度的安全性和效率。 创建`String`...
在Java中,我们使用`split()`方法,它位于`java.lang.String`类中。同样,我们需要提供分隔符作为参数: ```java String str = "你好,世界!欢迎学习"; String[] splitStr = str.split(","); for (String part : ...
String类的split()方法使用正则表达式来分割字符串。为了匹配空白字符,可以使用"\s+",但由于Java的字面量转义,实际传入的参数应该是"\\s+"。 6. **substring()方法的工作原理** 在JDK 6中,substring()方法...
`split()`方法是`java.lang.String`类的一个实例方法,它根据提供的正则表达式将字符串分割成多个子字符串,并返回一个字符串数组。例如: ```java String str = "Hello,World,Java"; String[] parts = str....
3. **字符串处理**:Java的String类提供了丰富的操作方法,如split()用于分词,indexOf()和substring()用于查找和截取子字符串。 4. **文件操作**:“dic”文件的读取和写入可能使用了FileInputStream、...