【发布时间】:2013-03-15 02:11:17
【问题描述】:
在 .NET 中,我需要(如果可能)区分不同类型的日语数字字符串。
在日语中,数字字符串可以用不同的方式书写,例如 "1" 有 "1"、"ⅰ"、"Ⅰ"、"①" 的半角字符。
我需要比较"MyString1" 和"MyString①" 之类的字符串,显然它们不相等。
我想知道是否有办法自动将"①"类型字符自动更改为"1"?
编辑
我知道显而易见的答案是列出所有可能的“①”类型字符(这些字符的数量是有限的)并在目标字符串中替换它们。但在我看来,这不是一个非常“好”的方式,也不是很健壮......所以如果有一个通用的方式,我宁愿使用它。
编辑
抱歉,我之前写过机器人 "①" 和 "1" 被认为是数字,但它们不是。 IsNumeric "①" 出现错误。所以我想除了使用直接替换之外,实际上可能根本没有办法从一个切换到另一个。
【问题讨论】:
-
你看过msdn.microsoft.com/en-us/library/a7zyyk0c.aspx并玩过CultureInfo吗?
-
@Richard 我打算提出相同的建议并尝试过,但
Compare返回"1"和"①"是不同的,甚至在“ja-JP”文化中不区分大小写。 -
@Richard 感谢您的链接。 Strings 和 CultureInfo 真的是我不熟悉的东西,所以不确定我是否能够使用它......
-
@abatishchev 我已经尝试
Equals与所有三种类型的文化比较,但没有乐趣。 -
您是否还说您希望
MyStringii和`MyString2' 相等?这对我来说似乎是个麻烦。
标签: .net string string-comparison