मुझे एक स्ट्रिंग को विभाजित करने और व्हाइटस्पेस वर्णों से अलग शब्दों को निकालने की आवश्यकता है। स्रोत अंग्रेजी या जापानी में हो सकता है। अंग्रेजी सफेद जगहों के पात्रों में टैब और स्थान शामिल है, और जापानी पाठ भी इनका उपयोग करता है। (आईआईआरसी, सभी व्यापक रूप से उपयोग किए जाने वाले जापानी चरित्र सेट यूएस-एएससीआईआईआई के सुपरसेट हैं।)सभी जापानी व्हाइटस्पेस पात्र क्या हैं?
तो मेरी स्ट्रिंग को विभाजित करने के लिए उपयोग करने वाले अक्षरों का सेट सामान्य ASCII स्पेस और टैब शामिल है।
लेकिन, जापानी में, वहाँ एक और अंतरिक्ष चरित्र, जिसे आम तौर पर 'पूर्ण-चौड़ाई अंतरिक्ष' कहा जाता है। मेरे मैक कैरेक्टर व्यूअर यूटिलिटी के मुताबिक, यह यू + 3000 "आइडियोग्राफिक स्पेस" है। यह (आमतौर पर) परिणाम देता है जब कोई उपयोगकर्ता जापानी इनपुट मोड टाइप करते समय स्पेस बार दबाता है।
क्या कोई अन्य पात्र हैं जिन पर मुझे विचार करने की आवश्यकता है?
मैं उपयोगकर्ताओं को, जो "रिक्त स्थान के साथ अलग-अलग प्रविष्टियों" करने के लिए कहा गया है द्वारा प्रस्तुत शाब्दिक डेटा संसाधित कर रहा हूँ। हालांकि, उपयोगकर्ता इन ग्रंथों को सबमिट करने के लिए विभिन्न प्रकार के कंप्यूटर और मोबाइल फोन ऑपरेटिंग सिस्टम का उपयोग कर रहे हैं। हमने पहले ही देखा है कि इस डेटा को दर्ज करते समय उपयोगकर्ताओं को पता नहीं हो सकता है कि वे जापानी या अंग्रेजी इनपुट मोड में हैं या नहीं।
इसके अलावा, अंतरिक्ष कुंजी के व्यवहार भी जापानी मोड (जैसे, विंडोज 7 एक आइडियोग्राफ़िक स्पेस डाल देगा लेकिन आईओएस एक ASCII अंतरिक्ष से जोड़ दिया जाएगा) में प्लेटफार्मों और अनुप्रयोगों भर में अलग है।
तो मैं जो चाहता हूं वह मूल रूप से "सभी अक्षरों का सेट है जो दृष्टि से एक स्थान की तरह दिखते हैं और जब उपयोगकर्ता स्पेस कुंजी दबाता है, या टैब कुंजी उत्पन्न हो सकता है क्योंकि कई उपयोगकर्ताओं को अंतरिक्ष के बीच अंतर नहीं पता है और एक टैब, जापानी और/या अंग्रेजी में "।
वहाँ इस तरह के एक प्रश्न के लिए किसी भी आधिकारिक जवाब है?
उचित यूनिकोड समर्थन के साथ कोई प्रोग्रामिंग भाषा नहीं होना चाहिए, बस आपको व्हाइटस्पेस पर एक स्ट्रिंग (रेगेक्स का उपयोग करके) विभाजित करने दें? उदाहरण के लिए - '/ \ s /' जावास्क्रिप्ट में व्हाईटस्पेस वर्णों से मिलान करता है ('[\ f \ n \ r \ t \ v \ u00A0 \ u2028 \ u2029]' के समतुल्य)। –
मैट: आपके द्वारा उद्धृत रेगेक्स पहले से ही '\ u3000' गायब है और ओपी सोच रहा है कि और क्या गुम हो सकता है। यूनिकोड विभाजक अंतरिक्ष सूची में 18 प्रविष्टियां हैं: http://www.fileformat.info/info/unicode/category/Zs/list.htm – Gabe
मैट: हाँ, मेरी इच्छा है, लेकिन धारणा है कि जावास्क्रिप्ट (और आश्चर्यजनक रूप से, रूबी भी) जेनेरिक 'व्हाइटस्पेस' का गठन करने के बारे में क्या है जापानी व्हाइटस्पेस चरित्र (एस?) शामिल नहीं है। गेबे: उस लिंक के लिए धन्यवाद, मेरे यूनिकोड व्यूअर में मैन्युअल रूप से चारों ओर घूमते हुए मैंने ईएम स्पेस, फिगर स्पेस और दोस्तों में ठोकर खाई थी, लेकिन ओघम स्पेस मार्क या मंगोलियन वाउल SEPARATOR का सामना नहीं किया था ... – Mason