Androidアプリケーションで定義された文字列があります:
<string name="search_occurs">'{string}' occurs {times}</string>
これはエラーを与えます:アポストロフィの前に\がありません( '{string}'で{times}が発生します)
私はこれを修正するためにいくつかのことを試しました:
<string name="search_occurs">\'{string}\' occurs {times}</string>
<string name="search_occurs">'{string}' occurs {times}</string>
<string name="search_occurs"><![CDATA['{string}' occurs {times}]]></string>
<string name="search_occurs"><![CDATA[\'{string}\' occurs {times}]]></string>
エラーを取り除くことはできません。私は何が欠けていますか?
これらは両方とも http://developer.Android.com/guide/topics/resources/string-resource.html#FormattingAndStyling に従って動作するはずです。
<string name="search_occurs">\'{string}\' occurs {times}</string>
<string name="search_occurs">"'{string}' occurs {times}"</string>
文字列の 'の前に\を置くだけです。それはFALSEです。それはTRUEです:)
置換する文字列を'
に指定しないのはなぜですか?
また、あなたはこのような構造を知っていますか?
<string name="profile_age_range_text_between">between %1$d and %2$d</string>
<string name="unit_height_inches">%1$d\'%2$d ft</string>
<string name="unit_distance_miles">%s mi</string>
正しいファイルを編集していることを確認してください。 この回答 のように、エラーが発生すると、Android Studioはvalues.xml
ファイルを開きます。これは元のファイルに似ています。 \
を元のstrings.xml
ファイル(または問題のある文字がある場所)に追加する必要があります。それ以外の場合は、エラーを繰り返し続けます。
アポストロフィ(')を(\')に置き換えるか、すべての前に\を追加( ')
注:()テキスト内のみをコピーします
このエラーは、文字列で使用されるアポストロフィが原因で発生します
アポストロフィを\ 'Thats Allに置き換える
https://stackoverflow.com/users/3339394/the-martian への回答では、 'を\に置き換える一般的な解決策があり、テキストをWordエディター(メモ帳++など)にコピーする必要があります)そして、プログラムで "replace"オプションを使用して、全体を\ 'に置き換えます。 (評判が足りないので、回答に書いて申し訳ありませんでした!)