Java基础_字符串及正则表达式

  • Post author:
  • Post category:java




字符串

字符串是Java中特殊的类,使用方法像一般的基本数据类型。Java没有内置的字符串类型,而是在标准Java类库中提供了一个String类来创建和操作字符串。



定义

1.直接定义

用字符串常量直接初始化一个String对象

String str = "Hello Java";

2.使用String类定义

通过String类的构造方法来创建字符串

String();// 表示一个空字符序列
String(String original);//新创建的字符串是该参数的副本
String(char[] value);//将参数中的字符数组元素全部变为字符串
String(char[] value,int offset,int count);//将参数中的字符数组元素指定位置长度的子数组变为字符串



StringBuffer,StringBuilder

StringBuffer,StringBuilder类为可变字符串类(字符串缓冲区),String被声明为final class,所有拼接字符串时候会产生很多无用的中间对象;StringBuffer为了解决大量拼接字符串时产生中间对象问题而产生,append和add方法可以将字符串添加到已有序列的末尾或指定的位置;StringBuilder为了提升性能去掉了保证线程安全的部分。



正则表达式

正则表达式(Regular Expression)在代码中常简写为regex,regexp或RE,它是计算机科学的一个概念。正则表达式时一个强大的字符串处理工具,可以对字符串进行查找、提取、分割、替换等操作,是一种可以用于模式匹配和替换的规范。一个正则表达式就是由普通的字符(如字符 a~z)以及特殊字符(元字符)组成的文字模式,它用以描述在查找文字主体时待匹配的一个或多个字符串。

创建正则表达式就是创建一个特殊的字符串

1.合法字符

字符 解释
X 字符x(x 可代表任何合法的字符)
\0mnn 八进制数 0mnn 所表示的字符
\xhh 十六进制值 0xhh 所表示的字符
\uhhhh 十六进制值 0xhhhh 所表示的 Unicode 字符
\t 制表符(“\u0009”)
\n 新行(换行)符(‘\u000A’)
\r 回车符(‘\u000D’)
\f 换页符(‘\u000C’)
\a 报警(bell)符(‘\u0007’)
\e Escape 符(‘\u001B’)
\cx x 对应的的控制符。例如,

\cM

匹配 Ctrl-M。x 值必须为 A~Z 或 a~z 之一。

2.特殊字符

如果匹配特殊字符,首先需要通过

\

对特殊字符进行转义

特殊字符 说明
$ 匹配一行的结尾。要匹配 $ 字符本身,请使用

\$
^ 匹配一行的开头。要匹配 ^ 字符本身,请使用

\^
() 标记子表达式的开始和结束位置。要匹配这些字符,请使用

\(



\)
[] 用于确定中括号表达式的开始和结束位置。要匹配这些字符,请使用

\[



\]
{} 用于标记前面子表达式的出现频度。要匹配这些字符,请使用

\{




\}
* 指定前面子表达式可以出现零次或多次。要匹配 * 字符本身,请使用

\*
+ 指定前面子表达式可以出现一次或多次。要匹配 + 字符本身,请使用

\+
? 指定前面子表达式可以出现零次或一次。要匹配 ?字符本身,请使用

\?
. 匹配除换行符

\n

之外的任何单字符。要匹配

.

字符本身



版权声明:本文为MinAnSt原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。