0

文字列内のすべてのアポストロフィ (') 文字を別の文字に置き換えようとしています。私はこのコードを実行しています:

someString.replacingOccurrences(of: apost, with: "a")

私はapostを次のようにしようとしました:

apost = "\'"
apost = #"'"#
apost = "'"

someString からアポストロフィを削除したものはありません。

Swift でアポストロフィを置き換える方法があれば教えてください。ありがとうございました。

4

3 に答える 3

2

このreplacingOccurrences(...)メソッドは、アポストロフィが置き換えられた新しい文字列オブジェクトを返します。これによって元のsomeStringオブジェクトが変更されることはありません。必要なもの:

someString = someString.replacingOccurences(...)

それが起こった場合は、Xcode でさらに警告をオンにします (または警告を調べます)。私のセットアップでは、未使用の戻り値のため、これはコンパイルされませんでした。

于 2020-03-28T11:09:05.763 に答える
1

アポストロフィや一重引用符を認識しないという同じ問題がありました。それらを見つけて置き換えるには、各文字にユニコードを使用します。これは私にとってはうまくいきました。

let str = "mark's new name is 'mike'"

// apostrophe
var modstr = str.replacingOccurences(of: "\u{0027"}, with "")

// left single quote
modstr = modstr.replacingOccurences(of: "\u{2018"}, with "") 

// right single quote
modstr = modstr.replacingOccurences(of: "\u{2019"}, with "") 

// output
print(modstr)

出力:

marks new name is mike
于 2021-07-18T17:59:39.557 に答える