我读了很多关于从字符串中删除字符的问题。但他们都没有解决我的问题。
我有这个字符串:
"\"iconCls\":X.net.RM.getIcon(\"BulletWhite\")"
我想替换这部分:
"X.net.RM.getIcon(\"BulletWhite\")"
由此(实际上是双引号):
"\"\""
我使用此代码:
let dataString = "\"iconCls\":X.net.RM.getIcon(\"BulletWhite\")"
let newString = dataString?.replacingOccurrences(of: "X.net.RM.getIcon(\"BulletWhite\")" as String, with: "", options: .regularExpression, range: nil)
但它不起作用。我可以替换所有字符,直到我想要替换包含括号的字符串。任何想法?谢谢!
答案 0 :(得分:3)
您正在传递.regularExpression
选项,但实际上并未使用正则表达式。
变化:
.regularExpression
为:
[]
这会得到您想要的结果:
let dataString = "\"iconCls\":X.net.RM.getIcon(\"BulletWhite\")"
let newString = dataString.replacingOccurrences(of: "X.net.RM.getIcon(\"BulletWhite\")" as String, with: "", options: [], range: nil)
输出:
“icnCls”:
更简单:
let newString = dataString.replacingOccurrences(of: "X.net.RM.getIcon(\"BulletWhite\")" as String, with: "")
答案 1 :(得分:1)
您不需要使用选项或范围。
let str = "\"iconCls\":X.net.RM.getIcon(\"BulletWhite\")"
let replace = "X.net.RM.getIcon(\"BulletWhite\")"
let replaceBy = "\"\""
let newString = str.replacingOccurrences(of: replace, with: replaceBy)