मैं जावा में दाएं से बाएं भाषाओं में लिखे तारों का पता लगाने की विधि बनाने की कोशिश कर रहा हूं। मैं this question सी # में कुछ ऐसा करने के साथ आया हूं।
अब मुझे ऐसा कुछ करने की ज़रूरत है लेकिन जावा में लिखा गया है।
किसी भी मदद की सराहना की है।यह पता लगाने के लिए कि किसी स्ट्रिंग में कोई दाएं-से-बाएं वर्ण हैं या नहीं?
उत्तर
मैं निम्नलिखित कोड के साथ आया था:
char[] chars = s.toCharArray();
for(char c: chars){
if(c >= 0x600 && c <= 0x6ff){
//Text contains RTL character
break;
}
}
यह एक बहुत ही कुशल नहीं है या उस बात के लिए एक सही तरीका है लेकिन एक सुझाव मिल सकते हैं।
हो सकता है कि यह मदद करनी चाहिए:
http://en.wikipedia.org/wiki/Right-to-left_mark
वहाँ एक यूनिकोड वर्ण, अर्थात् U + 200F होना चाहिए, जब एक rtl स्ट्रिंग मौजूद है।
सादर
प्रश्न पुराने लेकिन शायद किसी और एक ही समस्या हो सकता है है ...
कई समाधान की कोशिश के बाद मैं एक है कि मेरे लिए काम करता पाया:
if (Character.getDirectionality(string.charAt(0)) == Character.DIRECTIONALITY_RIGHT_TO_LEFT
|| Character.getDirectionality(string.charAt(0)) == Character.DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC
|| Character.getDirectionality(string.charAt(0)) == Character.DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING
|| Character.getDirectionality(string.charAt(0)) == Character.DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE
) {
// it is a RTL string
}
यह काम नहीं करेगा, क्योंकि आरटीएल पाठ इन अंकों के बिना लिखा गया है। – Liggliluff
यहाँ डार्को के जवाब के संस्करण में सुधार हुआ है:
public static boolean isRtl(String string) {
if (string == null) {
return false;
}
for (int i = 0, n = string.length(); i < n; ++i) {
byte d = Character.getDirectionality(string.charAt(i));
switch (d) {
case DIRECTIONALITY_RIGHT_TO_LEFT:
case DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC:
case DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING:
case DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE:
return true;
case DIRECTIONALITY_LEFT_TO_RIGHT:
case DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING:
case DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE:
return false;
}
}
return false;
}
इस कोड को निम्नलिखित मामलों के सभी के लिए मेरे लिए काम करता है:
בוקר טוב => true
good morning בוקר טוב => false
בוקר טוב good morning => true
good בוקר טוב morning => false
בוקר good morning טוב => true
(בוקר טוב) => true
- 1. यह पता लगाने के लिए कि किसी विशेष स्ट्रिंग में यूनिकोड वर्ण हैं (esp। डबल बाइट वर्ण)
- 2. यह पता लगाने के लिए कि किसी HTML पृष्ठ में कोई वीडियो है या नहीं?
- 3. कोको: यह पता लगाने के लिए कि कोई एनएसएसटींग अपरिवर्तनीय या परिवर्तनीय है या नहीं?
- 4. यह पता लगाने के लिए कि किसी विशेष डिवाइस में सिम हार्डवेयर समर्थन है या नहीं?
- 5. यह पता लगाने के लिए कि कोई वर्ण दाएं से बाएं भाषा से संबंधित है या नहीं?
- 6. यह पता लगाने के लिए कि कोई उपयोगकर्ता PHP
- 7. यह पता लगाने के लिए कि कोई फ़ाइल पीडीएफ या टीआईएफएफ है या नहीं?
- 8. यह पता लगाने के लिए कि विंडोज
- 9. यह पता लगाने के लिए कि कोई कनेक्टेड यूएसबी प्रिंटर चालू या बंद है या नहीं?
- 10. यह पता लगाने के लिए कि कोई फ़ाइल बैच फ़ाइल
- 11. यह जांचने के लिए कि कोई स्ट्रिंग किसी सरणी में है या नहीं?
- 12. यह पता लगाने के लिए कि कोई वेबसाइट HSTS
- 13. यह पता लगाने के लिए कि किसी ऑब्जेक्ट को
- 14. यह पता लगाने के लिए कि कोई छवि बंडल के भीतर मौजूद है या नहीं?
- 15. यह पता लगाने के लिए कि कोई प्रोग्राम उपप्रोसेस से क्रैश हो गया है या नहीं?
- 16. यह पता लगाने के लिए कि कौन से वर्ण फ़ॉन्ट का समर्थन करते हैं
- 17. यह पता लगाने के लिए कि कोई विशिष्ट ड्राइव हार्ड ड्राइव है या नहीं?
- 18. यह पता लगाने के लिए कि स्क्रीन एंड्रॉइड डिवाइस में कैपेसिटिव या प्रतिरोधी है या नहीं?
- 19. यह पता लगाने के लिए कि कोई क्लिक() माउस किसी कोड द्वारा क्लिक या ट्रिगर किया गया है या नहीं?
- 20. यह पता लगाने के लिए कि किसी तालिका में कुछ अद्वितीय कॉलम हैं
- 21. यह पता लगाने के लिए कि मेरे आईओएस एप्लिकेशन का कोई नया संस्करण है या नहीं?
- 22. यह पता लगाने के लिए कि कोई टाइमर चल रहा है या नहीं?
- 23. क्या कोई सीएसएस चयनकर्ता यह पता लगाने के लिए है कि किसी इनपुट में टेक्स्ट फ़ाइल चयनित है या नहीं?
- 24. यह पता लगाने के लिए कि क्या NSScrollView वर्तमान में
- 25. यह जांचने के लिए कि कोई स्ट्रिंग किसी निश्चित सीमा में है या नहीं। (जावा)
- 26. यह पता लगाने के लिए कि कौन से आइटम किसी विशेष लेआउट का उपयोग करते हैं
- 27. यह पता लगाने के लिए कि कोई आईफ़्रेम किसी त्रुटि को ट्रिगर किए बिना सुलभ है या नहीं?
- 28. यह पता लगाने के लिए कि जीपीएस सिग्नल कमजोर या उच्च है या नहीं?
- 29. कैसे पता चलता है कि स्ट्रिंग में कोई विशेष वर्ण है या नहीं?
- 30. क्या यह पता लगाने का कोई तरीका है कि कोई ड्राइव एसएसडी है या नहीं?
आपको हिब्रू को शामिल करने के लिए (c> = 0x5D0 && c <= 0x6ff) का उपयोग करना चाहिए, जो एक आरटीएल भाषा भी है। –