我在scala中有一个下面的字符串,我想搜索并用双引号“BELL”替换值BELL。我使用替换但是它无法正常工作,是什么语法使用正则表达式来检查来自的确切搜索字符串从头到尾。
我的首次搜索是使用BELL - > “BELL”和下一次搜索将是BELL。* - > “BELL ”, 我的第一个搜索替换应该只更新BELL,第二个搜索和替换应该更新BELL。
val str = "(((( EMP = BELL) OR ( LASTNAME = BELL) OR ( LASTNAME = BELL)) OR ( ( EMPFIRSTNAME = BELL.*)))"
str.replace("BELL","""""""+"BELL"+""""""")
( ( ( ( EMP = "BELL") OR ( LASTNAME = "BELL") OR ( LASTNAME = "BELL")) OR ( ( EMPFIRSTNAME = **"BELL."***)))
答案 0 :(得分:0)
试试这个,使用反斜杠来转义双引号。
val str = "(((( EMP = BELL) OR ( LASTNAME = BELL) OR ( LASTNAME = BELL)) OR ( ( EMPFIRSTNAME = BELL.*)))"
val regex = "BELL((\\.)(\\*))*"
val replaced = str.replaceAll(regex, "\"BELL$2\"")