字符串
字符串是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 对应的的控制符。例如,
匹配 Ctrl-M。x 值必须为 A~Z 或 a~z 之一。 |
2.特殊字符
如果匹配特殊字符,首先需要通过
\
对特殊字符进行转义
特殊字符 | 说明 |
---|---|
$ |
匹配一行的结尾。要匹配 $ 字符本身,请使用
|
^ |
匹配一行的开头。要匹配 ^ 字符本身,请使用
|
() |
标记子表达式的开始和结束位置。要匹配这些字符,请使用
和
|
[] |
用于确定中括号表达式的开始和结束位置。要匹配这些字符,请使用
和
|
{} |
用于标记前面子表达式的出现频度。要匹配这些字符,请使用
和
|
* |
指定前面子表达式可以出现零次或多次。要匹配 * 字符本身,请使用
|
+ |
指定前面子表达式可以出现一次或多次。要匹配 + 字符本身,请使用
|
? |
指定前面子表达式可以出现零次或一次。要匹配 ?字符本身,请使用
|
. |
匹配除换行符
之外的任何单字符。要匹配
字符本身 |
版权声明:本文为MinAnSt原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。