我有一个压缩的字符串值,我从导入文件中提取。我需要将其格式化为包裹编号,格式如下:##-##-##-###-###
。因此,字符串“410151000640”应该变成“41-01-51-000-640”。我可以用下面的代码来做到这一点:带破折号的格式字符串
String.Format("{0:##-##-##-###-###}", Convert.ToInt64("410151000640"));
但是,字符串可能不是所有的数字;它可能有一个或两个字母,因此转换为int将失败。有没有办法在一个字符串上做到这一点,所以每个字符,不管它是数字还是字母,都能正确适应格式?
工程就像一个魅力!我将这个提取到一个包装方法中,并进行了一些验证和错误处理。谢谢! – Kevin 2010-10-19 13:50:32
我必须真正自己学习正则表达式。这个问题的一个非常好的解决方案。 – 2010-10-19 13:54:52
@Øyvind如果有帮助,我喜欢使用http://www.regular-expressions.info/tutorial.html以供参考。他们还讨论了不同引擎提供的不同正则表达式风格。 – 2010-10-19 14:21:56