पार्स किए गए एचटीएमएल से गैर-ब्रेकिंग स्पेस को ट्रिम करने के लिए एक उचित तरीका खोजने के दौरान, मैंने पहली बार String.trim()
की जावा की स्पार्टन परिभाषा पर ठोकर खाई है जो कम से कम सही तरीके से प्रलेखित है। मैं स्पष्ट रूप से ट्रिमिंग के पात्र पात्रों को सूचीबद्ध करना चाहता था, इसलिए मैंने माना कि कैरेक्टर क्लास पर यूनिकोड समर्थित विधियों का उपयोग करना मेरे लिए काम करेगा।गैर-ब्रेकिंग स्पेस जावा में एक सफेद जगह नहीं है?
जब मुझे पता चला कि Character.isWhitespace(char) स्पष्ट रूप से गैर तोड़ने रिक्त स्थान शामिल नहीं है यही कारण है कि:
यह एक यूनिकोड अंतरिक्ष चरित्र (
SPACE_SEPARATOR
,LINE_SEPARATOR
, याPARAGRAPH_SEPARATOR
) है लेकिन यह भी एक नॉन-ब्रेकिंग स्पेस नहीं है ('\u00A0'
,'\u2007'
,'\u202F'
)।
वह क्यों है?
corresponding .NET equivalent का कार्यान्वयन कम भेदभावपूर्ण है।
पिछड़े संगतता के संबंध में: मैं सहमत हूं, लेकिन कोई कारण नहीं है कि वर्तमान स्थिति को कैप्चर करने के लिए Character.isWhitespaceNew (char) को जोड़ने, कहने का कोई कारण नहीं है। – Jirka
नीचे वह सड़क PHP है। – Eric
और दूसरी सड़क के नीचे, ठीक है, जावा। एक ऐसी भाषा जिसने पीछा किया था (जो इसकी गलतियों से सीखा) के लिए निशान को उजागर किया, लेकिन अगर कोई अन्य विकल्प मेरे समझ से परे है तो स्वेच्छा से इसका इस्तेमाल क्यों करेंगे। – Eloff