首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Javascript String.replace(/\$ /,str)在jsp文件中很奇怪

在 JSP 文件中,String.replace(/\$ /,str) 的表现可能会有所不同,因为 JSP 文件中的内容会被转换为 Java 代码,并在服务器端执行。这可能会导致一些特殊字符的转义问题。

在这个例子中,\$ 是一个特殊字符,表示字符串的结尾。因此,/\$ / 实际上是一个正则表达式,用于匹配字符串结尾后面紧跟一个空格的位置。在 JSP 文件中,这个正则表达式可能会被转义,导致匹配失败。

为了解决这个问题,您可以尝试使用双反斜杠 \\ 来转义特殊字符,例如 String.replace(/\\$ /,str)。这样,在 JSP 文件中,正则表达式就会被正确地解析,并且可以匹配到字符串结尾后面紧跟一个空格的位置。

此外,如果您在 JSP 文件中使用 Java 代码,可以考虑使用 Java 的 replace() 方法来替换字符串。例如:

代码语言:java
复制
String str = "example string";
str = str.replace("$ ", "replacement");

这种方法可以避免正则表达式的转义问题,并且更易于阅读和维护。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 60行代码实现简单模板语法

    不久前看过一篇不错的文章,作者用了15行代码就实现了一个简单的模板语法,我觉得很有趣,建议在阅读本文之前先看一下这个,本文不会讲解一些细节实现,这里是传送门:只有20行的Javascript模板引擎 这个模板语法实现的核心点是利用正则表达式来匹配到模板语法里面的变量和JS语句,遇到变量就将匹配到的字符串 push 到一个数组中,遇到 JS 语句就执行,最后再把数组中的字符串 join 起来,用 Function 来解析执行这串字符串,最终将执行后的结果放到指定 DOM 节点的innerHTML 里面。 但是这个模板语法还是有很多不足,比如不支持取余运算,不支持自定义模板语法,也不支持if、for、switch 之外的JS语句,缺少 HTML 实体编码。 恰好我这阵子也在看 underscore 源码,于是就参考了一下 underscore 中 template 方法的实现。 这个是我参考 template 后实现的模板,一共只有60行代码。

    02
    领券