String类
String类是Java中一个非常常用的类,用于处理字符串。它可以用来存储和操作一个或多个字符序列。一旦被创建无法修改值,String类是Java中一个内置的类,因此在使用时无需进行额外的导入/因此,任何字符串操作都会返回一个新的字符串对象
字符串的申明和初始化
这个语句会在堆内存中创建一个新的String对象,该对象包含指定的字符数组转换为的字符串。
连接多个字符串、
连接其他数据类型
获取字符串长度 length()方法 length()方法可以返回一个字符串的长度
String str = "Hello World";
int length = str.length(); // length的值为11
CharAt()方法
String str = "Hello World";
char ch = str.charAt(0); // ch的值为'H'
indexOf()方法可以返回一个字符串中指定子串第一次出现的位置
String str = "Hello World";
int index = str.indexOf("World"); // index的值为6
substring()方法可以返回一个字符串的一个子串
String str = "Hello World";
String subStr = str.substring(0, 5); // subStr的值为"Hello"
toLowerCase()方法可以将一个字符串中的所有字符转换为小写,而toUpperCase()方法可以将一个字符串中的所有字符转换为大写
String str = "Hello World";
String lowerStr = str.toLowerCase(); // lowerStr的值为"hello world"
String upperStr = str.toUpperCase(); // upperStr的值为"HELLO WORLD"
split()方法可以将一个字符串按照指定的分隔符拆分为多个子字符串,返回一个字符串数组。
:String str = "Hello,World";
String[] strArray = str.split(","); // strArray的值为{"Hello", "World"}
使用equals()方法可以比较两个字符串的内容是否相等。
正则表达式是一种文本模式,用于描述字符串的特定模式。
- . 表示匹配任意单个字符。
- [abc] 表示匹配a、b或c中的任意一个字符。
- [^abc] 表示匹配除a、b和c之外的任意一个字符。
```java
String pattern1 = ".at"; // 匹配所有以at结尾的三个字符的字符串
String pattern2 = "[abc]at"; // 匹配所有以a、b或c开头,以at结尾的字符串
String pattern3 = "[^abc]at"; // 匹配所有不以a、b或c开头,以at结尾的字符串
```
- * 表示匹配前面的字符出现0次或多次。
- + 表示匹配前面的字符出现1次或多次。
- ? 表示匹配前面的字符出现0次或1次。
- {n} 表示匹配前面的字符出现恰好n次。
- {n,} 表示匹配前面的字符出现至少n次。
- {n,m} 表示匹配前面的字符出现n到m次。
String pattern1 = "a*"; // 匹配所有由任意数量的a组成的字符串
String pattern2 = "a+"; // 匹配所有由至少一个a组成的字符串
String pattern3 = "a?"; // 匹配所有由零个或一个a组成的字符串
String pattern4 = "a{2}"; // 匹配所有由两个a组成的字符串
String pattern5 = "a{2,}"; // 匹配所有由至少两个a组成的字符串
String pattern6 = "a{2,5}"; // 匹配所有由两个到五个a组成的字符串
```
- \d 表示匹配任意一个数字。
- \w 表示匹配任意一个单词字符,即字母、数字或下划线。
- \s 表示匹配任意一个空白字符,包括空格、制表符、换行符等。
- \D 表示匹配任意一个非数字字符。
- \W 表示匹配任意一个非单词字符。
- \S 表示匹配任意一个非空白字符。
String pattern1 = "\\d"; // 匹配任意一个数字字符
String pattern2 = "\\w"; // 匹配任意一个单词字符
String pattern3 = "\\s"; // 匹配任意一个空白字符
String pattern4 = "\\D"; // 匹配任意一个非数字字符
String pattern5 = "\\W"; // 匹配任意一个非单词字符
String pattern6 = "\\S"; // 匹配任意一个
- . 表示匹配任意单个字符。
- [abc] 表示匹配a、b或c中的任意一个字符。
- [^abc] 表示匹配除a、b和c之外的任意一个字符。
运行结果