您好,我想以特殊的方式替换文件中的字符串。
例如,我正在使用正则表达式 #"\WhideMenu\W"搜索类似“hideMenu()”的字符串,这样它就不会返回 hideMenu 位于其中的某些文本,如“willHideMenu()”。
我正在使用这样的替换函数:
(clojure.string/replace textFile #"\WhideMenu\W" "hideMenu2")
但问题是它现在也替换了文本文件的第一个空格和最后一个字符。
例如,如果有:
function hideMenu()
它将是:
functionhideMenu2)
这是非常合乎逻辑的,但是如何使用替换而不丢失第一个和最后一个字符?我想要的结果是:
function hideMenu2()
最佳答案
如果 clojure 支持,请使用前瞻和正则表达式后面:
(clojure.string/replace textFile #"(?<=\W)hideMenu(?=\W)" "hideMenu2")
否则您可能需要匹配该字符并在替换中使用它:
(clojure.string/replace textFile #"(\W)hideMenu(\W)" "$1hideMenu2$2")
关于regex - Clojure 用正则表达式替换字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27273472/