af Afrikaans
ar Arabic
az Azerbaijani (Azeri)
be Belarusian
bg Bulgarian
ca Catalan
cs Czech
cy Welsh
da Danish
de__phonebook German (umlaut as 'ae', 'oe', 'ue')
eo Esperanto
es Spanish
es__traditional Spanish ('ch' and 'll' as a grapheme)
et Estonian
fi Finnish
fil Filipino
fo Faroese
fr French
ha Hausa
haw Hawaiian
hr Croatian
hu Hungarian
hy Armenian
ig Igbo
is Icelandic
ja Japanese [1]
kk Kazakh
kl Kalaallisut
ko Korean [2]
lt Lithuanian
lv Latvian
mk Macedonian
mt Maltese
nb Norwegian Bokmal
nn Norwegian Nynorsk
nso Northern Sotho
om Oromo
pl Polish
ro Romanian
ru Russian
se Northern Sami
sk Slovak
sl Slovenian
sq Albanian
sr Serbian
sv Swedish
sw Swahili
tn Tswana
to Tonga
tr Turkish
uk Ukrainian
vi Vietnamese
wo Wolof
yo Yoruba
zh Chinese
zh__big5han Chinese (ideographs: big5 order)
zh__gb2312han Chinese (ideographs: GB-2312 order)
zh__pinyin Chinese (ideographs: pinyin order)
zh__stroke Chinese (ideographs: stroke order)
3条答案
按热度按时间h5qlskok1#
uo pu i
这是不可能做到的,你也不应该想这么做!这是对全世界的冒犯,相信立面与拱廊押韵,或者科罗拉多州卡农市福尔斯教会法管辖,这是天真到无知的地步。
你可以通过Unicode范式D来运行这个字符串,并丢弃标记字符,但我肯定不会告诉你怎么做,因为它是邪恶和错误的。它是邪恶的原因已经概述过了,它是错误的,因为有无数的情况它根本没有解决。
研究材料
以下是你需要阅读的内容:
你***必须***学会如何比较字符串的方式是有意义的,和残缺他们根本就没有任何意义什么 [pə ələp] 永远.
决不能只是逐个代码点比较非规范化字符串,如果可能,您需要考虑语言,因为它们之间的规则不同。
示例
无论您使用的是哪种编程语言,阅读Perl的Unicode::Normalize、Unicode::Collate和Unicode::Collate::Locale模块的文档都可能对您有所帮助。
例如,要在包含
"muß"
的文本中搜索"MÜSS"
,可以执行以下操作:这将使
"muß"
变为$match
。Unicode::Collate::Module
支持针对以下区域设置进行定制:您可以选择:你可以做对,也可以什么都不做。如果你做错了,没有人会感谢你。
正确执行意味着要考虑UAX#15和UTS#10。
在当今这个时代,没有什么比这更能被接受的了。你知道,现在已经不是60年代了!
jyztefdp2#
不,没有这样的正则表达式。注意,使用正则表达式是为了“描述”一段特定的文本。
某个正则表达式实现可能提供使用正则表达式进行替换的可能性,但这些替换通常只通过单个替换来执行:不得将
a
替换为a'
,不得将b
替换为b'
等。也许您正在使用的语言在其API中有一个方法来执行这种替换,但它不会使用regex。
5jdjgkvh3#
这个任务就是
iconv
库的用途。了解如何在您正在使用的任何语言中使用它。很可能您的图书馆已经有了它的装订本