उत्तर
रूबी में एन्कोडिंग पर एक दिलचस्प लेख: http://blog.grayproductions.net/articles/bytes_and_characters_in_ruby_18 (यह एक श्रृंखला का हिस्सा - लेख की शुरुआत में सामग्री की तालिका भी देखें)
मैंने पहले चीनी वर्णों का उपयोग नहीं किया है, लेकिन यह यूनिकोड द्वारा समर्थित सूची प्रतीत होता है: http://en.wikipedia.org/wiki/List_of_CJK_Unified_Ideographs। यह भी ध्यान रखें कि यह एक एकीकृत प्रणाली है जिसमें जापानी और कोरियाई पात्र शामिल हैं (कुछ वर्ण उनके बीच साझा किए जाते हैं) - सुनिश्चित नहीं है कि आप केवल चीनी हैं जो अंतर कर सकते हैं।
मुझे लगता है कि आप देख सकते हैं कि यह सूचकांक n के साथ स्ट्रिंग str और चरित्र पर इस फोन करके एक CJK चरित्र है:
def check_char(str, n)
list_of_chars = str.unpack("U*")
char = list_of_chars[n]
#main blocks
if char >= 0x4E00 && char <= 0x9FFF
return true
end
#extended block A
if char >= 0x3400 && char <= 0x4DBF
return true
end
#extended block B
if char >= 0x20000 && char <= 0x2A6DF
return true
end
#extended block C
if char >= 0x2A700 && char <= 0x2B73F
return true
end
return false
end
आपको बहुत धन्यवाद – HelloWorld
क्या ये चीनी अक्षरों के लिए वास्तविक यूनिकोड श्रेणियां हैं? – s84
@ एसएएम वे सीजेके श्रेणियां हैं। ये चीनी, जापानी और कोरियाई पात्र हैं (मानते हैं कि श्रेणियां सही हैं, जो मुझे विश्वास है कि वे हैं) –
रूबी 1,9
#encoding: utf-8
"漢" =~ /\p{Han}/
मैं इस कोड का उपयोग करता हूं, लेकिन यह काम नहीं कर सकता है। यह त्रुटि जानकारी है: अवैध वर्ण संपत्ति का नाम {हान}:/\ p {हान}/ – HelloWorld
@HelloWorld: रूबी का अपना संस्करण अपडेट करें। सभी पात्र वर्गों को अब दस्तावेज किया गया है: http://github.com/ruby/ruby/blob/trunk/doc/re.rdoc (ठंडा निक, बीटीडब्ल्यू) –
उपरोक्त लिंक टूटा हुआ है, लेकिन आप रूबी में सभी जानकारी पा सकते हैं regexp के लिए दस्तावेज़: http://www.ruby-doc.org/core-2.0.0/Regexp.html#label-Character+Properties – deRailed
वे आम तौर पर काताकाना या हिरागाना की तुलना में अधिक स्ट्रोक की है। और आप आमतौर पर केवल अधिक जटिल कांजी पर रूबी का उपयोग करना चाहते हैं ... एक पल प्रतीक्षा करें, क्या यह जापानी है। एसई या ढेर ओवरफ्लो? –