2010-04-20 12 views
21

में एक HTML स्ट्रिंग निर्माण अजगर में की तरह से मैं या बस की तरह ट्रिपल कोट्स में स्ट्रिंग बंद करके < जैसे विशेष वर्ण से बचने के बारे में चिंता "बिना एक HTML स्ट्रिंग का निर्माण कर सकते हैं:सरल/प्रत्यक्ष/हियरडॉक जावा

html_string = """ 
<html> 
<body> 
<p>My text with "quotes" and whatnot!<p> 
</body> 
</html> 
""" 

वहाँ एक समान तरीके से जावा में यह करने के लिए है?

+4

साथ परीक्षण लिख रहा था भविष्य में संदर्भ के लिए , उन चीजों को आमतौर पर [हेडॉक्स] कहा जाता है (http://en.wikipedia.org/wiki/Heredoc) –

+0

[यह उत्तर] (http://stackoverflow.com/a/121513/403455) दिखाता है कि पेस्ट कैसे करें एक्लिसपे में बहु-पंक्ति से बच निकले। –

+0

उद्धरणों के लिए: http://stackoverflow.com/questions/3034186/in-java-is-there-a-way-to-write-a-string-literal-without-having-to-escape-quote, के लिए multiline: http://stackoverflow.com/questions/878573/java-multiline-string –

उत्तर

20

यह अजगर की तरह जावा में नहीं किया जा सकता भी ट्रिपल बिना चाल करना """ की। हालांकि यदि आप ग्रहण का उपयोग कर रहे हैं तो विंडो-> प्राथमिकताएं-> जावा-> संपादक-> टाइपिंग पर जाएं अंतिम चेक बॉक्स "स्ट्रिंग शाब्दिक में पेस्ट करते समय टेक्स्ट से बचें"। जांच करे। अब जब आप अपना कर्सर उद्धरण चिह्नों के बीच पेस्ट करते हैं तो यह बच जाएगा।

+6

हमेशा एक चेकबॉक्स हमेशा होता है; ओ) –

1

नहीं, लेकिन कुछ उपकरण आप के लिए यह बच जब आप इसे पेस्ट ग्रहण की तरह,।

+0

अच्छा, उसे नहीं पता था! ग्रहण में आप इसे कैसे करेंगे? मैं एक्लिप्स गैलीलियो चला रहा हूं और जब मैं एचटीएमएल कोड पेस्ट करता हूं तो इसे कॉपी किया जा रहा है। –

+1

विंडो> वरीयताएँ> जावा> संपादक> टाइपिंग चेक एस्केप टेक्स्ट पेस्टिन एक स्ट्रिंग शाब्दिक – Beothorn

0

जावा स्रोत कोड में, दोहरे उद्धरण विशेष वर्ण का उपयोग किया है स्ट्रिंग अक्षर घोषित करने के लिए। आप नहीं कर सकते एक भागने के बिना एक स्ट्रिंग शाब्दिक में एक डबल उद्धरण है।

सामान्य रूप से, मैं स्रोत कोड में हार्ड कोडिंग स्ट्रिंग से बचने की कोशिश करता हूं, विशेष रूप से यदि मुझे लगता है कि मैंने इसे बहुत कुछ किया है - जैसा कि आपने देखा है, वे स्रोत के रूप में निपटने के लिए दर्द हैं और वे शायद बदलने की संभावना हो सकती है, इस मामले में आप बिना किसी संकलन के कर सकते हैं। यदि आपको टेक्स्ट डेटा में रनटाइम पार्ट्स की आपूर्ति करने की आवश्यकता नहीं है, तो आप किसी प्रॉपर्टी फ़ाइल से डेटा में पढ़ने के समान सरल हो सकते हैं, या आप चरित्र डेटा को अलग रखने के लिए Apache Velocity जैसे टेम्पलेटिंग इंजन का उपयोग कर सकते हैं रनटाइम पर विकल्प चर - लिंक किए गए उपयोगकर्ता मार्गदर्शिका में से कई उदाहरण बिल्कुल HTML के साथ करते हैं।

+1

मैं पूरी तरह से सहमत हूं, लेकिन एक त्वरित परीक्षण के लिए (एक बग पिन करने के लिए) मैं हमेशा अपनी आस्तीन पर कुछ त्वरित-गंदे चाल पसंद करता हूं ; ओ) –

+0

सहमत - सभी संदर्भ पर निर्भर करता है। ग्रहण चाल की तरह लगता है इस मामले में ftw है! – Brabster

0

एक similar question से benjismith की चाल गूंज के लिए, आप एक वैकल्पिक चरित्र का उपयोग करें और उन्हें बाद में बदल सकते हैं:

String myString = "using `backticks` instead of quotes".replace('`', '"'); 

मैंने पाया यह उपयोगी है जब मैं JSON

String json = "{`kind`:`file`,`sid`:802,`rid`:5678 ,`attrs`:{`name`:`FILE-WG-2468`}}".replace('`', '"'); 
// vs 
String json = "{\"kind\":\"file\",\"sid\":802,\"rid\":5678 ,\"attrs\":{\"name\":\"FILE-WG-2468\"}}";