使用Swift删除字符串中的一行字符

时间:2017-06-01 17:18:06

标签: swift string character

我读了很多关于从字符串中删除字符的问题。但他们都没有解决我的问题。

我有这个字符串:

"\"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)

但它不起作用。我可以替换所有字符,直到我想要替换包含括号的字符串。任何想法?谢谢!

2 个答案:

答案 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)