我得到了一个带有 prime-faces 编辑器组件的页面来创建文档模型,以便将模型保存在数据库中并用作将来更轻松地创建新文档的模板。
问题在于,遗留系统保存的旧模型在编辑器中没有正确格式化,更具体地说,它忽略了左侧的空格。
我发现,如果我用 " "
替换空格 ""
编辑器会显示空格,但我无法使用正确的正则表达式来处理它.
我需要做的是:获取所有大于 ""
的空格(例如 ""
或 ""
)并将其替换为正确的“ ”
号码。这样 ""
将替换为 "  "
。
使用以下正则表达式我可以达到超过 1 个空格的条件,但我不知道如何替换它。
myString.replaceAll(" [\\s]+", "????");
这可能吗?或者我最好想想别的事情?
最佳答案
您可以使用此解决方案有条件地将任意 2 个以上的连续空格替换为其等效数量的
实例:
String spaces = "1 2 3 4 1 5 end";
System.out.println(
// | space followed by space
// | | or
// | | | space preceded by space
spaces.replaceAll("\\s(?=\\s)|(?<=\\s)\\s", " ")
);
输出
1 2 3 4 1 5 end
注意
这将保留单个空格,因为这似乎是您的意图。
关于java - 将某个条件中的所有字符串字符替换为变量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37393021/