[已解决问题] 正则表达式格式化字符串
提问时间: 2008-07-23 14:03
悬赏分:100 浏览:109 次

 名字格式化对齐

 王小强

 张三

 董强

========

要求格式化效果

王小强

张  三

董  强

请问我格式化成这样的正则应该怎么写!

 


问题补充:我现在是临时那加了空格 判断长度如果是2个我就在中间加个空格的 字符串变化多 感觉还是用正则来的灵活!

最佳答案
string names = @" 王小强 张三 董强"; //使用了正则表达式的"零宽断言",可以参考这里:  //http://unibetter.com/deerchao/zhengzhe-biaodashi-jiaocheng-se.htm#lookaround Regex re = new Regex(@"(?<=^\w)(?=\w$)", RegexOptions.Multiline); string newNames = re.Replace(names, " "); Console.WriteLine(newNames) //results: //王小强 //张 三 //董 强
2008/7/23 22:49:11 回答者:deerchao


提问者对于答案的评价:这个正是我要找的东西,非常感谢!
其它回答(1)
string regex = "^[\u4e00-\u9fa5]{2}$"; string source="姓名"; if (Regex.Match(source, regex).Success) { Console.WriteLine(source.Insert(1, " ")); } else { Console.WriteLine(source); }
1个月前   回答者:侯垒 - 小虾三级
评论
1个月前   冰之印记 :
这个我现在基本上就是这么做的,这样也不是很灵活 加入有4个名字的呢~4个字的放在第一个,那策略就改变了 我的意思 是直接用正则去格式化。这样我可以把正则作存储在数据库中,这样我可以只修改正则就行了,而不是要去修改代码!
1个月前   冰之印记 :
不过还是非常感谢您帮助我回答问题!占用了您的宝贵时间
1个月前   侯垒 :
你也可以将正则表达式存到数据库呀!只是在用的时候读出来就行了.
1个月前   冰之印记 :
是的 我确实是想放在数据库里面的 感谢了1
   您需要登录以后才能回答!
 

我要提问

我的问题


快到期问题

> 问题排行榜

相关链接