java - 使用正则表达式成对替换
问题描述
解决方案
要将直双引号转换为弯双引号,您可以使用正则表达式,该正则表达式将匹配一对直引号,同时在其间捕获除直双引号之外的任何字符,并替换为对卷双引号内捕获的值的反向引用分数:
.replaceAll("\"([^\"]*)\"", "„$1”")
请参阅正则表达式演示。细节
"
- 一个"
字符([^"]*)
- 捕获组 1($1
在替换模式中指的是该组值):除(是否定字符类)之外的任何零个或多个 (*
) 字符"
[^"]
"
- 一个"
字符。
请参阅Java 演示:
String s = "Some \"text\"";
System.out.println(s.replaceAll("\"([^\"]*)\"", "„$1”"));
// => Some „text”
推荐阅读
- javascript - 如何设计风格
- react-native - react-native app的APK显示黑屏
- r - 使用 mlr3 调整 GLMNET
- firebase - 如何在flutter中从文档中查询特定的数据字段
- javascript - 试图破坏画布上的先前图表
- css - Bootstarp 4 - 如何更改移动设备不同行中的列顺序
- python - 如何执行算术运算和分组并创建新的数据框
- docker - 通过 SSH 机器进行 VSCode 容器内调试
- javascript - 将 JavaScript 与 Angular 组件一起使用:无法读取 null 的属性“id”
- tcl - 如何在 TCL 中格式化数字字符串