shihominorth
@shihominorth

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

バックスラッシュの挿入

前提・実現したいこと

元々はこちらの問題を解決のために文字列にバックスラッシュを挿入しようとしております。
QiitaAPIで投稿した記事のタイトルを変更できない

 上記の質問ではQiitaAPIで自分で投稿した記事のタイトルをPATCHして更新しようとしています。

経緯としては

  1. 問題のAPI通信をする際、パラメーターにbodyが必要。
  2. そのbodyの中身に```が入っているため、バックスラッシュをシングルバッククオーテーションの後に挿入。
  3. curlでAPIを叩いたところ一応動いたのでが原因だと考えています。({"message":"Unauthorized","type":"unauthorized"}と返ってきたので何も意味ないのかもしれないですが)

発生している問題・エラーメッセージ

バックシングルクオーテーションを「`\」に置き換えられず困っています。

該当のソースコード

  let backSlash = "\\"   

 if let range2 = body.range(of: "`") {
            

            var body2 = body.replaceSubrange(range2, with: "`\(backSlash)")
            body = String(body)
         
        }
        

0

1Answer

replaceSubrange() の戻り値はVoid型です。body2に意味のある値は設定されません。

また、body = String(body) は、bodyの文字列をbodyに設定しており、意味のある処理になっていません。

Playground等を利用して「該当のソースコード」が目的の機能を達成できているか確認することをオススメします。

また、bodyに 置き換えたいバックシングルクオーテーションが複数個ある場合は、replacingOccurrences()の利用も検討してみてください。

0Like

Your answer might help someone💌