gpt4 book ai didi

java - 在 标签内用
替换换行符,用 替换空格

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:10:18 25 4
gpt4 key购买 nike

我想用对应的换行符和空格替换它们,以便它们在我的 Android 应用程序中得到正确的样式。

我想知道这个正则表达式的最佳方法。我试图这样做以用 <br /> 替换换行符:

string.replaceAll("@<code>.*\\n*</code>@si", "<br />");

但是没有用。对于双倍空间替换,我一直想不出任何办法。

所以这就是我想要实现的:

来自 \n<br /> , 从“双未编码空间”到 &emsp; .

最佳答案

在 Java 中,您可以在 2 个替换调用中完成此操作:

string = string.replaceAll("\\r?\\n", "<br />");
string = string.replace(" ", " &emsp;");

编辑:

Matcher m = Pattern.compile("(?s)(?i)(?<=<code>)(.+?)(?=</code>)").matcher(string);
StringBuffer buf = new StringBuffer();
while (m.find()) {
String grp = m.group(1).replaceAll("\\r?\\n", "<br />");
grp = grp.replace(" ", " &emsp;");
m.appendReplacement(buf, grp);
}
m.appendTail(buf);
// buf.toString() is your replaced string

我特意使用了 String#replace在第二次调用中,因为我们实际上并没有在那里使用任何正则表达式。

正如@amn 评论的那样,您可以将字符串包装在 <pre> 中和 </pre>标记并避免这些替换。

关于java - 在 <code> 标签内用 <br/> 替换换行符,用 替换空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17252872/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com