如果有个字符串123421|""abcde|fg|h""|||werji|""12345|432""| 如何将这个字符串中在 |" 和 "| 中间的部分 里面的| 替换成/ 用java表达
时间: 2023-07-03 12:26:04 浏览: 111
同样,你可以使用正则表达式和字符串的 replace() 方法来实现这个功能。以下是 Java 代码示例:
```java
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Main {
public static void main(String[] args) {
String s = "123421|\"\"abcde|fg|h\"\"|||werji|\"\"12345|432\"\"|";
Pattern pattern = Pattern.compile("\\|\"(.*?)\"\\|");
Matcher matcher = pattern.matcher(s);
StringBuffer sb = new StringBuffer();
while (matcher.find()) {
String match = matcher.group(1);
String replaced = match.replace('|', '/');
matcher.appendReplacement(sb, "|" + replaced + "|");
}
matcher.appendTail(sb);
System.out.println(sb.toString());
}
}
```
这里的正则表达式 `\\|\"(.*?)\"\\|` 和 Python 中的是一样的。通过 `Matcher` 对象的 find() 方法找到所有匹配的部分,然后通过字符串的 replace() 方法将其中的 `|` 替换成 `/`,最后使用 `Matcher` 对象的 appendReplacement() 和 appendTail() 方法将替换后的部分重新拼接成字符串输出。
输出结果为:
```
123421|""abcde/fg/h""|||werji|""12345/432""|
```
阅读全文