字符串:a我爱9只cat和1010条鱼
生成后:AWAJZCHYTY
过程:单个汉字则直接生成该汉字拼音的首字母,英文单词则直接生成该单词的首字母,同时若在没有空格的情况下英文单词只有一个字母,则直接生成该字母;单个数字,则直接生成该数字的汉语拼音的首字母,若是连续的数字,如上面的1010则要生成第一个数字的汉语拼音首字母,如上面的1010只生成Y(1的汉语拼音首字母)。
生成后:AWAJZCHYTY
过程:单个汉字则直接生成该汉字拼音的首字母,英文单词则直接生成该单词的首字母,同时若在没有空格的情况下英文单词只有一个字母,则直接生成该字母;单个数字,则直接生成该数字的汉语拼音的首字母,若是连续的数字,如上面的1010则要生成第一个数字的汉语拼音首字母,如上面的1010只生成Y(1的汉语拼音首字母)。
匹配中文:[\u4e00-\u9fa5]
英文字母:[a-zA-Z]
[0-9] Regex reg = new Regex( "^[\u4e00-\u9fa5]+$ ");
中文首字母
http://topic.csdn.net/u/20100206/07/d365743f-b244-401b-9216-80ed76166775.html
Regex regExp = new Regex(@"(?is)((?<chinese>[\u4E00-\u9FA5]+)|(?<letter>[a-z]+)|(?<num>\d+))");//|$
MatchCollection mc = regExp.Matches(str);
foreach (Match m in mc)
{
if (m.Groups["chinese"].Success) Console.Write(m.Groups["chinese"].Value + "\n");
if (m.Groups["letter"].Success) Console.Write(m.Groups["letter"].Value + "\n");
if (m.Groups["num"].Success)Console.Write(m.Groups["num"].Value + "\n");
}
a
我爱
9
只
cat
和
1010
条鱼
和
a我cat1你
生成的密文一样。