Java使用replaceAll函数完成字符串重复字符的压缩
时间: 2023-12-02 13:05:17 浏览: 40
可以使用replaceAll函数和正则表达式来完成字符串重复字符的压缩,具体的代码如下:
```java
public static String compressString(String str) {
return str.replaceAll("(.)\\1+", "$1");
}
```
这里的正则表达式 "(.)\\1+" 表示匹配至少两个重复的字符,其中的 "(.)" 表示匹配任意一个字符并将其捕获到第一个组中,"\\1" 表示反向引用第一个组中的内容,加上"+"表示匹配至少两个重复的字符。在替换时,使用"$1"表示把第一个组中捕获的字符替换回去,从而实现压缩字符串的效果。
相关问题
java 常用字符串操作函数
1. length(): 返回字符串长度。
2. charAt(int index): 返回指定索引位置的字符。
3. indexOf(String str): 返回指定字符串在原字符串中第一次出现的位置。
4. lastIndexOf(String str): 返回指定字符串在原字符串中最后一次出现的位置。
5. substring(int beginIndex): 返回从指定索引位置开始到字符串末尾的子字符串。
6. substring(int beginIndex, int endIndex): 返回从指定索引位置开始到指定索引位置结束的子字符串。
7. trim(): 返回去掉字符串首尾空格的字符串。
8. toLowerCase(): 返回将字符串中所有字符转换为小写的字符串。
9. toUpperCase(): 返回将字符串中所有字符转换为大写的字符串。
10. replace(char oldChar, char newChar): 返回将字符串中所有指定的字符替换为新的字符后的字符串。
11. replaceAll(String regex, String replacement): 返回将字符串中所有匹配指定正则表达式的子字符串替换为指定的字符串后的新字符串。
jmeter函数截取字符串
在JMeter中,可以使用BeanShell或者正则表达式来截取字符串。下面是两种方法的示例:
1. 使用BeanShell函数截取字符串:
```java
String originalString = "Hello World";
String substring = originalString.substring(6); // 从索引6开始截取字符串
vars.put("substring", substring); // 将截取的字符串保存为JMeter参数
```
2. 使用正则表达式函数截取字符串:
```java
String originalString = "Hello World";
String regex = "(?<=Hello ).*"; // 使用正则表达式匹配Hello后面的内容
String substring = originalString.replaceAll(regex, "");
vars.put("substring", substring); // 将截取的字符串保存为JMeter参数
```