我从变量中得到以下值。
Sub FormatNormal()
With ActiveDocument.Content.Find
.ClearFormatting
.Style = ActiveDocument.Styles("Normal")
.Text = ""
.Replacement.Text = "^&"
.Replacement.Font.Size = 10
.Replacement.Font.Name = "Calibri"
.Replacement.ClearFormatting
.Forward = True
.Wrap = wdFindContinue
.Format = True
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
.Execute Replace:=wdReplaceAll
End With
End Sub
我需要修改上面的变量以从中删除& amp。所以,变量应该是这样的
manager&org.apache.catalina.filters.CSRF_NONCE=314C54E5671790D592A37C2C4A6B9AAF
请建议
答案 0 :(得分:1)
sed 's/&/\&;/g' <<<"yourString"
以上一行应该有所帮助。
kent$ sed 's/&/\&;/g'<<< "foo&bar&blah"
foo&;bar&;blah
答案 1 :(得分:1)
我把你的变量放在一个文件中,并且能够用sed做你想做的事。确保你不删除任何其他只是放大器的引用的技巧是包括&amp;作为替代的一部分。
$ cat /tmp/file
manager&org.apache.catalina.filters.CSRF_NONCE=314C54E5671790D592A37C2C4A6B9AAF
$ cat /tmp/file | sed 's/\&/\&/g'
manager&;org.apache.catalina.filters.CSRF_NONCE=314C54E5671790D592A37C2C4A6B9AAF
答案 2 :(得分:1)
在bash中,您可以使用参数扩展 - 模式替换来删除子字符串:
VAR='manager&org.apache.catalina.filters.CSRF_NONCE=314C54E5671790D592A37C2C4A6B9AAF'
echo ${VAR/&}