String.xml फ़ाइल में "-" कैसे डालें


81

मुझे अपनी strings.xmlफ़ाइल के अंदर स्ट्रिंग में "-" डालने में सक्षम होना चाहिए ।

मेरी समस्या यह है कि जब मैं अपनी स्ट्रिंग डाल रहा हूँ "1261eba2-9d8c-11e1-93e3-40409e0f44a1", जो कि ग्रहण है:

इस पंक्ति में पाए गए कई एनोटेशन: - "एन डैश" वर्ण के साथ "-" बदलें (-, & #; # 8211;)

मैं इसे कैसे ठीक करूं?


1
वास्तव में आपको उस मूल्य की आवश्यकता कहां है? क्या यह एक टैग, एक टैग मूल्य या एक विशेषता मूल्य है?
rekaszeru

2
"-" को "\ -" से बदल दें
carmen_munich

जवाबों:


119

इसलिए, जब आप त्रुटि संदेश पढ़ा, आपका जवाब होगा आप को बदलने के लिए है कि -के साथ –। तो यह ठीक काम करना चाहिए =)

http://en.wikipedia.org/wiki/Dash


4
यह ठीक है जब आप केवल उपयोगकर्ता को स्ट्रिंग प्रदर्शित करना चाहते हैं। उपयोगकर्ता वास्तव में यह नहीं बता सकता है कि आप एक समान दिखने वाले यूनिकोड चरित्र के साथ "धोखा" कर रहे हैं। यदि आप नियमित डैश का उपयोग करना चाहते हैं, तो इसका उत्तर देखें: stackoverflow.com/a/10895509/78234
ताल वीस

2
मुझे लगता है कि कोड एंडएश के लिए है, न कि नियमित हाइफ़न के लिए।
जॉन ६१५

हां यह एन-डैश नहीं है एक हाइफ़न thepunctuationguide.com/en-dash.html
ब्लंडेल

84

जब आप उपयोगकर्ता को स्ट्रिंग प्रदर्शित करना चाहते हैं तो अन्य उत्तर ठीक हैं। उपयोगकर्ता वास्तव में "वास्तविक" डैश और यूनिकोड प्रवंचना के बीच अंतर नहीं बता सकता है।
लेकिन, यदि आपके पास वास्तव में डैश होना चाहिए (जैसे कि स्ट्रिंग को पासवर्ड के रूप में कहीं प्रयोग किया जाता है, या एपीआई के लिए यूआरएल कुंजी के रूप में) तो आप बस इस प्रारूप का उपयोग कर सकते हैं:

<resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="TypographyDashes">
    <string name="EVA_API_KEY">3c42b725-5e20-41c8-982f-dee40be8a05b</string>
</resources>

चेतावनी को हटा दिया जाएगा और स्ट्रिंग को नियमित उपयोग करके पढ़ा जा सकता है:

getResources().getString(R.string.EVA_API_KEY);

3
यह सबसे अच्छा जवाब है। धन्यवाद।
गुइलर्मो टोबार

10
एक टिप: आप टूल डालना चाहते हैं: अनदेखा करें = "टाइपोग्राफीडैश" भाग को केवल उन <string> टैग्स में शामिल करें जिन्हें वास्तव में वास्तविक डैश की आवश्यकता होती है।
दान जे

1
किसी कारण के लिए यह केवल मेरे लिए काम किया जब मैं स्ट्रिंग का उपयोग कर रहा हूँ पर ध्यान नहीं दिया। उत्तर के लिए धन्यवाद मुझे पता चला कि यह गलत डैश था, लेकिन इसे कैसे काम किया जाए यह उतना सीधा नहीं था।
मैथिज्स सीजर

1
मैं 9-1-1 के लिए फोन डायलर लॉन्च करने की कोशिश कर रहा था और आपका जवाब उसके लिए महत्वपूर्ण था। धन्यवाद!
रोइसेगोइन

14

प्रत्येक विशेष वर्ण के सामने वापस स्लैश (\) का उपयोग करें । मुझे और android पसंद है।

इसे पलायन चरित्र कहा जाता है। (())


मुझे लगता है कि आपका मतलब है कि हर विशेष चरित्र से पहले एस्केप चरित्र जोड़ें: "\"।
drew212

en.wikipedia.org/wiki/Escape_character एस्केप कैरेक्टर
बैकलैश है

अब मेरा उत्तर जांचें। यह वापस स्लैश () है।
राजारेड्डी पोलामेडी

5
जब im का उपयोग करके आप सभी को इसके "-" char ... क्या im मिल रहा है निकाल रहे हैं: 1261eba29d8c11e193e340409e0f44a1 1261eba2-9dbc-11e1-93e3-40409e0f44a1 ...
roiberg

4

डैश एक विराम चिह्न है जो हाइफ़न या माइनस चिह्न के समान है, लेकिन मुख्य रूप से लंबाई और कार्य में इन दोनों प्रतीकों से भिन्न होता है। डैश के सबसे आम संस्करणों में एन डैश (-) और एम डैश (-) हैं, जिसका नाम क्रमशः टाइपफेस के लोअर-केस n और अपर-केस M की लंबाई के लिए रखा गया है।

संदर्भ

बस इसके -साथ बदलें क्योंकि जब आप कीबोर्ड पर डैश टाइप करते हैं, तो XML डैश को माइनस के रूप में पढ़ता है, बस।



1

आपके पास शायद यह है:

<string name="test1">1261eba2-9d8c-11e1-93e3-40409e0f44a1</string>

लेकिन आपको इनमें से किसी एक की आवश्यकता है:

<string name="test2">1261eba2&#8211;9d8c&#8211;11e1&#8211;93e3&#8211;40409e0f44a1</string>
<string name="test3">1261eba2–9d8c–11e1–93e3–40409e0f44a1</string>

दूसरे में a - को a से बदल दिया जाता है। अंतर को नेत्रहीन बताना मुश्किल है।


1
हालांकि सावधान रहें: यदि आप इन प्रतीकों को URL में बदलते हैं तो यह काम करना बंद कर सकता है (मेरा काम किया)।
दान जे

मैं एक छोटे डैश प्रतीक (n-डैश) को एक एस्केप अनुक्रम के साथ बदलना चाहता हूं। लेकिन &#8211;लंबे डैश प्रतीक (एम-डैश) के लिए इसका भागने का क्रम दिखता है।
टॉब्स्को 42

0

एक्लिप्स में क्विक फिक्स शॉर्टकट डिफ़ॉल्ट रूप से Ctrl+ 1और एंड्रॉइड स्टूडियो में डिफ़ॉल्ट रूप से Alt+ Enterहोता है।

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