java 把 字符串 "都干啥.+都干啥高火凤凰规范111" 改为 都干啥 和 都干啥高火凤凰规范111 同时出现
时间: 2024-03-17 16:44:46 浏览: 49
你可以使用正则表达式来实现这个需求,具体代码如下:
```java
String str = "都干啥.+都干啥高火凤凰规范111";
str = str.replaceFirst("(.+都干啥)(.+都干啥高火凤凰规范111)", "$1 和 $2 同时出现");
System.out.println(str);
```
输出结果为:
```
都干啥 和 都干啥高火凤凰规范111 同时出现
```
在这里,我们使用了正则表达式中的捕获组,将两个字符串分别放在两个不同的捕获组中,并在替换时将它们分别引用出来,添加了 " 和 " 和 " 同时出现" 字符串,从而达到了题目要求的效果。与上一个问题不同的是,这里使用了 `replaceFirst` 方法,只替换第一个匹配到的字符串。
相关问题
java 把字符串"都干啥.+都干啥高火凤凰规范111" 改为 “都干啥 和 都干啥高火凤凰规范111 同时出现”
你可以使用正则表达式来实现这个需求,具体代码如下:
```java
String str = "都干啥.+都干啥高火凤凰规范111";
str = str.replaceAll("(.+都干啥)(.+都干啥高火凤凰规范111)", "$1 和 $2 同时出现");
System.out.println(str);
```
输出结果为:
```
都干啥 和 都干啥高火凤凰规范111 同时出现
```
在这里,我们使用了正则表达式中的捕获组,将两个字符串分别放在两个不同的捕获组中,并在替换时将它们分别引用出来,添加了 " 和 " 和 " 同时出现" 字符串,从而达到了题目要求的效果。
如何拆分 都干啥.+都干啥高火凤凰规范111 为 (.+都干啥)(.+都干啥高火凤凰规范111)
你可以使用正则表达式的分组来实现这个需求,具体代码如下:
```java
String str = "都干啥.+都干啥高火凤凰规范111";
String[] groups = str.split("(?<=.+都干啥)(?=.+都干啥高火凤凰规范111)");
System.out.println(groups[0]); // 输出 (.+都干啥)
System.out.println(groups[1]); // 输出 (.+都干啥高火凤凰规范111)
```
这里使用了正则表达式中的前后断言来匹配两个子串之间的位置,并将其作为拆分的分隔符,分别获取了两个子串。其中,`(?<=...)` 表示前向断言,`(?=...)` 表示后向断言,`.+都干啥` 和 `.+都干啥高火凤凰规范111` 分别表示两个子串的内容。这样就可以将原始字符串拆分为两个子串,并分别存储到 `groups` 数组中了。