日期:2014-05-20  浏览次数:20442 次

C#中如何删除中文字符(高分求救)
文本框中有一串字符,例子如下:
string   a   =   @ "123465、456789、12456、125(注意这里没有顿号,删除空行后要求有顿号)
(这里是空行)
(这里是空行)
中国,美国,日本!
(这里是空行)
123456789、13125 "

替换的结果:123465、456789、12456、125、123456789、13125

就是说把中文、空格、换行全部删除,只剩下数字和“、”,我该怎么做呢?
先谢谢大家了。

------解决方案--------------------
使用正则去替换。
匹配中文字符的正则表达式: "[\u4e00-\u9fa5] "
批配空行: "/^\s*$/ "
\f
换页符匹配。等效于 \x0c 和 \cL。

\n
换行符匹配。等效于 \x0a 和 \cJ。

\r
匹配一个回车符。等效于 \x0d 和 \cM。

\s
匹配任何空白字符,包括空格、制表符、换页符等。与 [ \f\n\r\t\v] 等效。

------解决方案--------------------
注意要:using System.Text.RegularExpressions;
------解决方案--------------------
使用这则表达式只取出数字和‘、’号,重新组成一个字符串不就可以了吗!
------解决方案--------------------
Regex.Replace(a, "[\u4e00-\u9fa5]+[,|,|( |)|!]|[\u4e00-\u9fa5] ", " ",System.Text.RegularExpressions.RegexOptions.IgnoreCase);
------解决方案--------------------
把中文用正则换成、就可以了