2017-06-01 22 views
0

文字列から文字を削除する方法については、多くの質問があります。しかし、誰も私の問題を解決しませんでした。これによりSwiftで文字列の文字列を削除する

"X.net.RM.getIcon(\"BulletWhite\")" 

(実際には二重引用符):

"\"\"" 

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

をしかし、それは動作しません。私はカッコを含む文字列を置き換えるまで、すべての文字を置き換えることができます。ありがとう!

答えて

1

オプションや範囲を使用する必要はありません。

+0

しかし、私は、それは二重引用符の前にバックスラッシュを削除する方法を変換することができますか?これはエンコード形式ですか? –

+0

@greenpoisononeTV実際の文字列にはバックスラッシュはありません。削除するものはありません。 – rmaddy

+0

@rmaddyもちろん、文字列を印刷するときに二重引用符の前にバックスラッシュがあります。 –

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) 

が出力:

「私

[] 

これは、あなたが望む結果を与えますcnCls ":

さらに簡単:

let newString = dataString.replacingOccurrences(of: "X.net.RM.getIcon(\"BulletWhite\")" as String, with: "") 
関連する問題