在Thymeleaf中使用正则表达式删除子字符串

时间:2015-06-29 20:54:20

标签: regex string thymeleaf

我已经在Thymeleaf论坛上发布了这个帖子,我在等待答案时,看到SO上的任何人都有答案:

testString = "abcd/xyz/removeThis"

我希望替换只返回'abcd'(即将/ xyz / *替换为字符串结尾为'')

以下不起作用,有什么可能的例子吗?

<p th:text="${#strings.contains(testString, '/xyz/')} ? 
                        ${#strings.replace(testString, '/xyz/*', '')}   :  ${testString}"></p>

2 个答案:

答案 0 :(得分:1)

您始终可以直接在String对象上调用String方法。

<span th:with="testString='abcd/xyz/removeThis'" 
      th:text="${testString.replaceFirst('/xyz/.*', '')}">
</span>

结果:abcd

顺便说一下。我修改了你的正则表达式。缺少任何角色的匹配器:.

答案 1 :(得分:-1)

试试这个。因为xyz是唯一不动态的东西。这应该匹配正斜杠xyz正斜杠和之后的所有内容,所以你可以替换它:“/ xyz /.*"