字符串类/正则表达式

来源:互联网 发布:mac怎么搜索硬盘文件 编辑:程序博客网 时间:2024/06/07 22:04

  • Java Character类

Character 类用于对单个字符进行操作。Character 类在对象中包装一个基本类型 char 的值

  • Java String类

字符串广泛应用在Java编程中,在Java中字符串属于对象,Java提供了String类来创建和操作字符串

注意:String类是不可改变的,所以你一旦创建了String对象,那它的值就无法改变了。如果需要对字符串做很多修改,那么应该选择使用StringBuffer & StringBuilder类


创建格式化字符串

String类使用静态方法format()返回一个String对象而不是PrintStream对象。String类的静态方法format()能用来创建可复用的格式化字符串,而不仅仅是用于一次打印输出。


  • StringBuffer和StringBuilder类

当对字符串进行修改的时候,需要使用StringBuffer和StringBuilder类

和String类不同的是,StringBuffer和StringBuilder类的对象能够被多次的修改,并且不产生新的未使用对象

StringBuilder类在Java 5中被提出,它和StringBuffer之间的最大不同在于StringBuilder的方法不是线程安全的(不能同步访问)

由于StringBuilder相较于StringBuffer有速度优势,所以多数情况下建议使用StringBuilder类。

在应用程序要求线程安全的情况下,则必须使用StringBuffer类

在Java中字符串作为String类的实例来处理,以对象的方式来处理字符串。声明字符串变量必须经过初始化才能使用,否则出错。

 

  • Java中对字符串的处理

连接字符串(+,字符串与其他类型的数据连接,结果为字符串,自动调用toString()方法

求字符串长度(调用length()方法,字符串的下标是0到length()-1)

字符串查找(indexOf()、lastIndexOf())

获取指定位置的字符(charAt(int index))

获取子字符串(substring(int beginIndex),substring(int beginIndex,endIndex))

去除空格(trim()方法)

字符串替换(replace(char s1,char s2)方法,char s1要与原字符串中字符的大小写保持一致

判断字符的开始与结尾(startsWith()  endsWith())

判断字符串是否相等(串池:不重复,不回收垃圾;==<内容和内存地址都要相同>、equals()<相同的字符和长度,区分大小写>、equalslgnoreCase()<忽略大小写>)、按字典顺序比较两个字符串<compareTO(),大于返回正整数,小于返回负整数,相等返回0>

字母大小写转化(toLowerCase() toUpperCase())

字符串分割(split(String sign) split(String sign,int limit))

格式化字符串、使用正则表达式,字符串生成器。

 

Java字符串

字符串比较/查找字符串最后一次出现的位置/删除字符串中的一个字符/字符串替换/字符串反转/字符串查找/字符串分割/字符串小写转大写/测试两个字符串区域是否相等/字符串性能比较测试/字符串优化/字符串格式化/连接字符串

 

//字符串比较

//通过字符串函数 compareTo (string) ,compareToIgnoreCase(String) 及 compareTo(object string)

//来比较两个字符串,并返回字符串中第一个字母ASCII的差值

 

//查找字符串最后一次出现的位置

//通过字符串函数 strOrig.lastIndexOf(Stringname) 来查找子字符串 Stringname 在 strOrig 出现的位置

 

//删除字符串中的一个字符

//通过字符串函数 substring() 函数来删除字符串中的一个字符,我们将功能封装在 removeCharAt 函数中

 

//字符串替换

//使用 java String 类的 replace 方法来替换字符串中的字符

 

//字符串反转

//使用 Java 的反转函数 reverse() 将字符串反转

 

//字符串搜索

//使用了 String 类的 indexOf() 方法在字符串中查找子字符串出现的位置

//如过存在返回字符串出现的位置(第一位为0),如果不存在返回 -1

 

//字符串分割

//使用了 split(string) 方法通过指定分隔符将字符串分割为数组

 

//测试两个字符串区域是否相等

//使用了 regionMatches() 方法测试两个字符串区域是否相等

 

//字符串性能比较测试

//通过两种方式创建字符串,并测试其性能

 

//字符串优化

//通过 String.intern() 方法来优化字符串

 

//字符串格式化

//通过 format() 方法来格式化字符串,还可以指定地区来格式化()

 

//连接字符串

//通过 "+" 操作符和StringBuffer.append() 方法来连接字符串,并比较其性能


  • Java正则表达式

正则表达式定义了字符串的模式。正则表达式可以用来搜索、编辑或处理文本。正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别。java.util.regex包主要包括以下三个类

 

Pattern类

pattern对象是一个正则表达式的编译表示。Pattern类没有公共构造方法。要创建一个Pattern对象,你必须首先调用其公共静态编译方法,它返回一个Pattern对象。该方法接受一个正则表达式作为它的第一个参数。

 

Matcher类

Matcher对象是对输入字符串进行解释和匹配操作的引擎。与Pattern类一样,Matcher也没有公共构造方法。你需要调用Pattern对象的matcher方法来获得一个Matcher对象

 

PatternSyntaxException

PatternSyntaxException是一个非强制异常类,它表示一个正则表达式模式中的语法错误。

       Pattern p = Pattern.compile(REGEX);//创建Pattern对象

       Matcher m = p.matcher(INPUT); // 获取 matcher 对象

 

matches 和lookingAt 方法

matches 和lookingAt 方法都用来尝试匹配一个输入序列模式。它们的不同是matcher要求整个序列都匹配,而lookingAt 不要求。这两个方法经常在输入字符串的开始使用

参考地址

http://blog.csdn.net/qq_27280457/article/details/52023299

http://blog.csdn.net/qq_35101189/article/details/66472514?locationNum=2&fps=1

http://blog.csdn.net/qq_35101189/article/details/54925833

http://blog.csdn.net/hanxuemin12345/article/details/8298180

http://blog.csdn.net/oguro/article/details/53240038?locationNum=4&fps=1

原创粉丝点击