XML में एक स्ट्रिंग नाम में स्पेस कैरेक्टर कैसे डालें?


174

मैंने strings.xmlफ़ाइल में कुछ तार परिभाषित किए हैं । अब मुझे स्ट्रिंग में कुछ संख्याओं के बीच कुछ अतिरिक्त स्थान डालने की आवश्यकता है। जब मैं अतिरिक्त स्थान वर्ण टाइप करता हूं, तो यह एप्लिकेशन पर प्रदर्शित नहीं होता है।

इससे पहले:

<string name="spelatonertext3">-4, 5, -5, 6, -6,

और अगर मैंने इस तरह से अतिरिक्त स्थान रखा:

<string name="spelatonertext3">-4,  5, -5,   6,  -6,

यह सिर्फ ऐप पर ही दिखता है। मैं XML स्ट्रिंग में स्पेस कैरेक्टर कैसे बना सकता हूं?


खैर, इस पेज में भी ऐसा ही देखा गया ... :) बात यह है कि क्या मुझे संख्याओं के बीच कुछ जगह चाहिए, यह कैसे संभव है ..?
एंड्रियास

<>SO पर रिक्त स्थान (और सामग्री) को संरक्षित करने के लिए कोड स्वरूपण का उपयोग करें । :)
एंड्रयू थॉम्पसन

जवाबों:


405

स्ट्रिंग के रूप में xml में सफेद स्थान का उपयोग करने के लिए &#160;। XML सफेद स्थान नहीं लेगा जैसा कि यह है। यह स्थापित करने से पहले सफेद स्थान को ट्रिम कर देगा। इसलिए &#160;सिंगल व्हाइट स्पेस की जगह इस्तेमाल करें


1
यह टेक्स्ट टेक्स्ट के रैप_ कॉन्टेंट के साथ काम नहीं करता है, जब टेक्स्ट के अंत में स्पेस होता है। टेक्स्टव्यू उस चौड़ाई को बनाए नहीं रखता है जो 'स्पेस' कैरेक्टर द्वारा ली गई है।
टॉब्स्को 42

28
यह एक नॉन-ब्रेकेबल स्थान जोड़ देगा। यह एक नियमित स्थान से अलग है और कुछ कार्यों (XPath's normalize-space, उदाहरण के लिए) के साथ अच्छी तरह से काम नहीं करेगा । &#032;इसके बजाय (नियमित स्थान) का उपयोग करने का प्रयास करें &#160;। @ toobsco42
shwartz

मुझे फ़ोन नंबर में क्षेत्र कोड के बाद गैर-ब्रेकिंग स्थान रखने के &#160;बजाय उपयोग करना था \u0020। अन्यथा, फ़ोन कोड क्षेत्र के अनुगामी कोष्ठक के बाद लाइन के अंत में लपेटा जा रहा था।
22

& # 032; यदि आपको 1 स्थान की आवश्यकता है तो ठीक है। यदि आप कई डालते हैं (& # 032; & # 032; ...) वे 1 से छंटनी कर रहे हैं। मुझे लगता है कि यह एक सामान्य रिक्त स्थान के समान व्यवहार है, इसलिए यह बेकार लगता है। अगर मिला तो & # 009 के बारे में भी सुझाव दें; (माना जाता है कि एक टैब वर्ण): यह कुछ नहीं दिखाता है। & # 160; अच्छी तरह से काम करता है, यह वही है जो मुझे चाहिए, धन्यवाद ρя.ρ Kя K.
herve-guerin

57

XML में सीधे एक रिक्त स्थान के लिए \ u0020 डालें, जिसे आप संरक्षित करना चाहते हैं।

<string name="spelatonertext3">-4, \u00205, \u0020\u0020-5, \u00206, \u0020-6,</string>

24

एंड्रॉइड String.xml फ़ाइल में स्ट्रिंग के अंत में रिक्त स्थान रखने का समर्थन नहीं करता है, इसलिए यदि आप स्ट्रिंग के बाद स्थान चाहते हैं तो आपको शब्दों के बीच में इस यूनिकोड का उपयोग करने की आवश्यकता है।

\ u0020

यह एक यूनिकोड स्पेस कैरेक्टर है।


यह मेरे लिए एंड्रॉइड स्टूडियो 3.6.2 का उपयोग करके एंड्रॉइड 4.4 पर संकलित किया गया। धन्यवाद।
प्यार और शांति - जो कोड्सवेल

11

जैसा कि पहले ही एक्सएमएल फाइल में स्पेस रखने का सही तरीका बताया गया \u0020है, जिसके इस्तेमाल से स्पेस के लिए यूनिकोड कैरेक्टर है।

उदाहरण:

<string name="spelatonertext3">-4,\u00205,\u0020-5,\u00206,\u0020-6</string>

अन्य सुझावों ने उपयोग करने के लिए कहा है &#160;या &#032;इसके लिए दो डाउनसाइड हैं। पहला नकारात्मक पहलू यह है कि ये ASCII वर्ण हैं इसलिए आप इन्हें पार्स करने के लिए किसी TextView जैसी चीज़ पर निर्भर हैं। दूसरा नकारात्मक पक्ष यह है कि &#160;कभी-कभी TextViews में अजीब रैपिंग हो सकती है।


7

अंतरिक्ष वेरिएंट:

<string name="space_demo">|&#x20;|&#x2009;|&#x200A;|</string>

| अंतरिक्ष | पतली अंतरिक्ष | बाल अंतरिक्ष |


1
यह सबसे प्यारी और अजीब है
अब्दुल वहीद

6

यह भी काम करना चाहिए। स्थान बनाए रखने के लिए उद्धरणों का उपयोग करें

<string name="spelatonertext3">"-4,  5, -5,   6,  -6,"</string>

1
यह मेरी राय में सबसे साफ (पढ़ने में सबसे आसान) जवाब है। दुर्भाग्य से ज्यादातर लोग संभवतः इसे आगे बढ़ने से पहले उत्तर की सूची से नीचे नहीं बनाते हैं।
डेविड

5

&#160;एंड्रॉइड प्रोजेक्ट में एकल स्थान को इंगित करने के लिए string.xml फ़ाइल में रखें ।


5

आप निम्नलिखित का उपयोग कर सकते हैं

<string name="spelatonertext3"> "-4,  5, -5,   6,  -6, "> </string>

" "अंतरिक्ष के साथ (उद्धरण) में कुछ भी रखो , और यह काम करना चाहिए


1
अंतरिक्ष के साथ "" (उद्धरण) में कुछ भी रखो, और यह काम करना चाहिए: यह काम नहीं कर रहा है
क्रुनाल शाह

3

अपने प्रश्न के अनुसार यदि आप स्ट्रिंग संसाधनों में एक से अधिक रिक्त स्थान जोड़ना चाहते हैं, तो वे वर्ण या शब्द के बीच रिक्त स्थान जोड़ने के कई विकल्प हैं:

1. डिफ़ॉल्ट रूप से एक जगह आप सीधे स्ट्रिंग संसाधन फ़ाइल में जोड़ सकते हैं यह ठीक काम कर रहा है। लेकिन अगर स्ट्रिंग संसाधन फ़ाइल के अंदर एक से अधिक स्थान दें तो यह उस रिक्त स्थान को बाहर कर देता है। उदा। -4, 5, -5, 6, -6,

  1. यदि आप स्ट्रिंग संसाधन फ़ाइल के अंदर अधिक अतिरिक्त स्थान जोड़ना चाहते हैं तो उपयोग करता है: - i। जैसे चरित्र के बाद यूनिकोड जोड़ना

        <string name="test">-4,&#160;&#160;5,&#160;&#160;-5,&#160;&#160;6,&#160;&#160;-6,</string>

ii। आप "\ u0020" का उपयोग कर सकते हैं

<string name="test">-4,\u0020\u0020 5,\u0020\u00205 -5,\u0020\u00205 6,\u0020\u00205 -6,</string>

3

यदि आप Android के 2 स्ट्रिंग या इन स्ट्रिंग फ़ाइल के बीच स्पेस देने का प्रयास कर रहे हैं, तो अपनी स्ट्रिंग फ़ाइल में ऐसा करें। अपने "स्ट्रिंग नाम" से पहले इसे लागू करें जिसे आप दिखाना चाहते हैं। जैसे के लिए \ u0020 \ u0020\ u0020 \ u0020 \ u0020 \ u0020 \ u0020 \ u0020Payment


2

xml: space = "की रक्षा"

एक जादू की तरह काम करता है।

संपादित करें: गलत। वास्तव में, यह केवल तभी काम करता है जब सामग्री केवल सफेद स्थानों से युक्त होती है।

संपर्क


1

यदि आउटपुट HTML है, तो HTML में कई स्पेस एक ही स्पेस के रूप में प्रदर्शित होते हैं। इसे रोकने के लिए, सामान्य स्थानों के बजाय गैर-ब्रेकिंग स्पेस (xA0) का उपयोग करें।


1

एकमात्र तरीका मुझे स्ट्रिंग के बीच में कई रिक्त स्थान मिल सकते हैं।

<string name="some_string">Before" &#x20; &#x20; &#x20;"After</string>

Before   After

0

आप इसे "-4, 5, -5, 6, -6," (दो रिक्त स्थान) जैसे दिखाना चाहते हैं, आप निम्नलिखित कोड को string.xml में जोड़ सकते हैं

<string name="spelatonertext3"> "-4,&#160;&#160;5,&#160;-5,&#160;&#160;6,&#160;&#160;-6,"</string>

  एक स्थान प्रदर्शित है।

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