private static void replaceTextInParagraph(XWPFParagraph paragraph, String placeholder, String replacement) { for (XWPFRun run : paragraph.getRuns()) { String text = run.getText(0); if (text != null && text.contains(placeholder)) { text = text.replace(placeholder, replacement); run.setText(text, 0); } } }讲此方法后两个参数改成Map入参
时间: 2024-04-16 15:23:59 浏览: 50
将方法的后两个参数改为Map入参,您可以按照以下方式修改代码:
```java
private static void replaceTextInParagraph(XWPFParagraph paragraph, Map<String, String> replacements) {
for (XWPFRun run : paragraph.getRuns()) {
String text = run.getText(0);
if (text != null) {
for (Map.Entry<String, String> entry : replacements.entrySet()) {
String placeholder = entry.getKey();
String replacement = entry.getValue();
if (text.contains(placeholder)) {
text = text.replace(placeholder, replacement);
run.setText(text, 0);
}
}
}
}
}
```
在这个修改后的方法中,您可以将替换的占位符和对应的替换值放入一个Map中作为入参。然后,遍历paragraph中的每个run,检查run的文本是否包含占位符。如果包含,则使用替换值进行替换。
使用这个修改后的方法时,您可以将需要替换的占位符和对应的替换值作为键值对放入Map中,然后调用方法传入paragraph和该Map即可实现替换功能。
注意:如果一个段落中有多个占位符需要替换,该方法会逐个替换。如果一个占位符在多个run中分散出现,可能需要进一步调整代码以确保完整替换。
阅读全文