【问题标题】:How to write character & in android strings.xml如何在 android strings.xml 中写入字符 &
【发布时间】:2011-03-04 10:37:04
【问题描述】:

我在strings.xml 文件中写了以下内容:

<string name="game_settings_dragNDropMove_checkBox">Move by Drag&Drop</string>

我收到以下错误:

The reference to entity "Drop" must end with the ';' delimiter.

如何在 strings.xml 中写入字符 &?

【问题讨论】:

  • 在android studio中,您只需按Alt+Enter,它就会为您转换。

标签: android string special-characters


【解决方案1】:

编码:

&amp;

【讨论】:

【解决方案2】:

对于特殊字符,我通常使用 Unicode 定义,对于“&”,例如:\u0026,如果我是正确的。这是一个不错的参考页面:http://jrgraphix.net/research/unicode_blocks.php?block=0

【讨论】:

  • 这个似乎效果最好。 $amp;来自 getString() 没有被转换。所以这很痛苦。
  • 这不适用于某些符号,例如 \u227A。
  • 对于Ⓡ符号使用 ®和商标™符号 ™
【解决方案3】:

这是我的问题,我的解决方案如下:使用&amp;gt;&gt;&amp;lt;&lt;&amp;amp;&amp;"'"',@987654329 @为\"\"

【讨论】:

  • 无法编辑此内容,因为更改很小,请留下评论。它应该是Use &amp;gt; for &gt;, &amp;lt;for &lt;
【解决方案4】:

即使你的问题得到了回答,我仍然想告诉更多这样的实体。 这些是html entities,所以在android中你可以这样写:

以下替换为:

& with &amp;
> with &gt;
< with &lt;
" with &quot;, &ldquo; or &rdquo;
' with &apos;, &lsquo; or &rsquo;
} with &#125;

【讨论】:

    【解决方案5】:

    应该是这样的:

    <string name="game_settings_dragNDropMove_checkBox">Move by Drag&amp;Drop</string>
    

    【讨论】:

      【解决方案6】:

      您可以在此页面中找到所有 HTML 特殊字符 http://www.degraeve.com/reference/specialcharacters.php 只需替换您要放置该字符的代码即可。 :-)

      【讨论】:

      • getString() 不转换 "我不得不使用 \u0022
      【解决方案7】:

      也可以将字符串的内容放入 XML CDATA 中,就像 Android Studio 在您 Extract string resource 时所做的那样

      &lt;string name="game_settings_dragNDropMove_checkBox"&gt;&lt;![CDATA[Move by Drag&amp;Drop]]&gt;&lt;/string&gt;

      【讨论】:

        【解决方案8】:

        这可能很老了。但对于那些正在寻找快速代码的人。

         public String handleEscapeCharacter( String str ) {
            String[] escapeCharacters = { "&gt;", "&lt;", "&amp;", "&quot;", "&apos;" };
            String[] onReadableCharacter = {">", "<", "&", "\"\"", "'"};
            for (int i = 0; i < escapeCharacters.length; i++) {
                str = str.replace(escapeCharacters[i], onReadableCharacter[i]);
            } return str;
         }
        

        处理转义字符,你可以在各自的数组上添加字符和符号。

        -干杯

        【讨论】:

          【解决方案9】:

          为避免错误,请使用提取字符串:

          <string name="travels_tours_pvt_ltd"><![CDATA[Travels & Tours (Pvt) Ltd.]]></string>
          

          【讨论】:

          • 这是最好的解决方案!
          【解决方案10】:

          & 在字符串中,例如:

          <string name="string_abc">Translate &amp; Scan Objects</string>
          

          输出将是:

          翻译和扫描对象

          【讨论】:

            【解决方案11】:

            你可以这样写

            <string name="you_me">You &#38; Me<string>
            

            输出:你和我

            【讨论】:

              【解决方案12】:

              Mac 和 Android 工作室用户:

              在 string.xml 或布局中键入您的字符,例如 & 并选择“选项”和“返回”键。 Please refer the screen shot

              【讨论】:

                【解决方案13】:

                如果你想直接硬编码xml中的字符串,可以这样加起来。

                  <TextView 
                     android:layout_marginStart="5dp"
                     android:layout_marginLeft="5dp"
                     android:layout_centerVertical="true"
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:text="You &amp; Me"
                

                【讨论】:

                  【解决方案14】:

                  我发现的最简单的方法是将 '&' 替换为 Unicode 等效项。所以对于给定的例子写:

                  <string name="game_settings_dragNDropMove_checkBox">Move by Drag\u0026Drop</string>
                  

                  【讨论】:

                    【解决方案15】:

                    我发布这个是因为上述编码都不适合我。

                    我发现用序列替换&符号:&amp;#38; 用作 xml 字符串资源。如:

                    <string name="webLink"><a href="https://www.example.com?param1=option1&#38;param2=option2">click here</a></string>
                    

                    【讨论】:

                      猜你喜欢
                      • 1970-01-01
                      • 2020-10-30
                      • 2017-08-15
                      • 1970-01-01
                      • 1970-01-01
                      • 2020-12-12
                      • 1970-01-01
                      • 2011-12-13
                      • 2012-02-02
                      相关资源
                      最近更新 更多