1. 创建字符串:
- 使用字符串字面值创建字符串对象:
String str = "Hello, World!";
- 使用 `new` 关键字创建字符串对象:
String str = new String("Hello, World!");
2. 获取字符串长度:
使用 `length()` 方法获取字符串的字符数(长度):
int length = str.length();
3. 获取指定位置的字符:
使用 `charAt(index)` 方法获取指定位置的字符,索引从 0 开始:
char ch = str.charAt(0);
4. 字符串比较:
使用 `equals(otherString)` 方法比较两个字符串是否相等:
boolean isEqual = str.equals(otherString);
或者使用 `equalsIgnoreCase(otherString)` 方法比较两个字符串是否相等,忽略大小写。
5. 字符串连接:
使用 `concat(str)` 方法将两个字符串连接起来:
String newStr = str.concat(otherStr);
或者使用 `+` 运算符连接字符串:
String newStr = str + otherStr;
6. 子字符串提取:
使用 `substring(beginIndex, endIndex)` 方法提取指定范围内的子字符串,包括 `beginIndex` 处的字符,但不包括 `endIndex` 处的字符:
String subStr = str.substring(0, 5);
7. 字符串查找:
使用 `indexOf(str)` 方法在字符串中查找指定子字符串的第一个出现位置:
int index = str.indexOf(subStr);
或者使用 `lastIndexOf(str)` 方法查找指定子字符串的最后一个出现位置。
8. 字符串替换:
使用 `replace(oldStr, newStr)` 方法将字符串中的所有旧字符串替换为新字符串:
String replacedStr = str.replace(oldStr, newStr);
9. 字符串拆分:
使用 `split(regex)` 方法将字符串按照指定的正则表达式拆分为字符串数组:
String[] parts = str.split(regex);
10. 大小写转换:
使用 `toLowerCase()` 方法将字符串转换为小写字母形式:
String lowerCaseStr = str.toLowerCase();
使用 `toUpperCase()` 方法将字符串转换为大写字母形式。
11.将文本中全局替换
replaceAll()用于替换字符串中匹配某个正则表达式的所有子字符串。
public String replaceAll(String regex, String replacement)
其中,regex是一个正则表达式,用于匹配要替换的子字符串,replacement是要替换匹配的子字符串的新字符串。
replaceAll()方法返回一个新的字符串,其中所有匹配正则表达式的子字符串都被替换为指定的新字符串。
以下是一些 `replaceAll()` 方法的用法示例:
1. 替换所有数字为指定字符串:
String str = "I have 5 apples and 3 oranges";
String newStr = str.replaceAll("\\d", "number");
// 输出:I have number apples and number oranges
2. 移除所有空格:
String str = " Hello World ";
String newStr = str.replaceAll("\\s", "");
// 输出:HelloWorld
3. 替换所有匹配的子字符串为指定字符串:
String str = "Hello, World!";
String newStr = str.replaceAll("o", "X");
// 输出:HellX, WXXrld!
4. 使用反向引用替换:
String str = "Hello, John Doe";
String newStr = str.replaceAll("(John) (Doe)", "$2, $1");
// 输出:Hello, Doe, John
需要注意的是,replaceAll()方法使用正则表达式进行匹配和替换。因此,正则表达式的语法和规则会影响替换的结果。如果替换的字符串中包含特殊字符,可能需要使用双反斜杠 `\\` 进行转义。另外,`replace()` 方法也类似于 `replaceAll()`,但它是基于字面值进行替换,而不是使用正则表达式。