Android strings.xml में वर्ण और कैसे लिखें


430

मैंने strings.xmlफ़ाइल में निम्नलिखित लिखा है :

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

मुझे निम्नलिखित त्रुटि मिली:

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

मैं चरित्र और स्ट्रिंग्स में कैसे लिख सकता हूं। Xml?


6
एंड्रॉइड स्टूडियो में, आप बस प्रेस कर सकते हैं Alt+Enterऔर यह आपके लिए परिवर्तित हो जाएगा।
रमित पटेल

जवाबों:


1037

इसे एनकोड करें:

&amp;

1
यदि CDATA का उपयोग कर रहे हैं, तो ध्यान रखें कि कुछ वर्ण आरक्षित हैं। © -> & copy; इस लेख का संदर्भ लें। w3schools.com/html/html_entities.asp
toidiu

1
\ u0026 @Moss द्वारा सुझाए गए यूनिकोड का उपयोग करने के लिए बेहतर है
Neo

159

विशेष वर्ण के लिए, मैं सामान्य रूप से यूनिकोड परिभाषा का उपयोग करता हूं, उदाहरण के लिए 'और': \ u0026 अगर मैं सही हूं। यहाँ एक अच्छा संदर्भ पृष्ठ है: http://jrgraphix.net/research/unicode_blocks.php?block=0


यह एक सबसे अच्छा काम करने लगता है। $ Amp; बिना रूपांतरित हुए गेटस्ट्रिंग () से बाहर आता है। तो यह एक पीड़ा है।
एडम

1
यह मेरे लिए कुछ प्रतीकों के लिए काम नहीं करता था, जैसे कि \ u227A।
लुइस ए। फ्लोरिट

Ⓡ प्रतीक उपयोग के लिए & # 174; और ट्रेडमार्क ™ प्रतीक & # 8482;
दीपक

55

का प्रयोग करें: यह एक मेरी मुद्दों है, मेरे समाधान निम्नलिखित के रूप में है &gt;के लिए <, &lt;के लिए >, &amp;के लिए &, "'"के लिए ', &quotके लिए\"\"


1
परिवर्तन छोटा होने के कारण इसे संपादित नहीं किया जा सकता, इसके बजाय टिप्पणी छोड़ दें। इसे पढ़ना चाहिए Use &gt; for >, &lt;for <
जोश_जीडी

13

यहां तक ​​कि आपके प्रश्न का उत्तर भी दिया गया है, फिर भी मैं चाहता हूं कि इस तरह से और अधिक इकाइयां बताएं। ये हैं html entities, इसलिए Android में आप इन्हें लिखेंगे:

नीचे से बदलें:

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

9

यह इस तरह होना चाहिए:

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


4

यह संभव है कि आप अपने स्ट्रिंग की सामग्री को किसी XML CDATA में डाल दें, जैसे कि Android Studio आपके लिए करता है Extract string resource

<string name="game_settings_dragNDropMove_checkBox"><![CDATA[Move by Drag&Drop]]></string>


3

यह बहुत पुराना हो सकता है। लेकिन उन लोगों के लिए जिनके लिए एक त्वरित कोड की तलाश है।

 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;
 }

यह पात्रों से बचता है, आप उनके संबंधित सरणियों पर वर्ण और प्रतीक जोड़ सकते हैं।

-Cheers



2

त्रुटि से बचने के लिए, अर्क स्ट्रिंग का उपयोग करें:

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

यह सबसे अच्छा उपाय है!
फबी

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.