如何检查字符串是否是速度代码
How can I check if string is velocity code
例如,我有HTML代码
<table>
<!-- #if($!item.get('specialPrice') && $!item.get('specialPrice')!= "")-->
<!-- [if mso]-->
<tr>
<td>
Hello world
</td>
</tr>
</table>
这里我需要删除内容为 <!-- [if mso]-->
的评论,这不是速度和速度代码 <!-- #if($!item.get('specialPrice') && $!item.get('specialPrice')!= "")-->
应该保留
那么问题是如何正确识别速度码?
好吧,我想到的一件事是使用正则表达式将其删除(假设每个速度语句都以 # 或 $ 开头)
例如
var r = "<!-- [^#$].*-->";
var t = "<table>\n<!-- #if($!item.get('specialPrice') && $!item.get('specialPrice')!= \"\")-->\n<!-- [if mso]-->\n<tr>\n<td>\n Hello world\n</td>\n</tr>\n</table>";
var c = t.replaceAll(r, "something");
System.out.println(c);
应该输出
<table>
<!-- #if($!item.get('specialPrice') && $!item.get('specialPrice')!= "")-->
something
<tr>
<td>
Hello world
</td>
</tr>
</table>
例如,我有HTML代码
<table>
<!-- #if($!item.get('specialPrice') && $!item.get('specialPrice')!= "")-->
<!-- [if mso]-->
<tr>
<td>
Hello world
</td>
</tr>
</table>
这里我需要删除内容为 <!-- [if mso]-->
的评论,这不是速度和速度代码 <!-- #if($!item.get('specialPrice') && $!item.get('specialPrice')!= "")-->
应该保留
那么问题是如何正确识别速度码?
好吧,我想到的一件事是使用正则表达式将其删除(假设每个速度语句都以 # 或 $ 开头)
例如
var r = "<!-- [^#$].*-->";
var t = "<table>\n<!-- #if($!item.get('specialPrice') && $!item.get('specialPrice')!= \"\")-->\n<!-- [if mso]-->\n<tr>\n<td>\n Hello world\n</td>\n</tr>\n</table>";
var c = t.replaceAll(r, "something");
System.out.println(c);
应该输出
<table>
<!-- #if($!item.get('specialPrice') && $!item.get('specialPrice')!= "")-->
something
<tr>
<td>
Hello world
</td>
</tr>
</table>