我需要一种方法将英国邮政编码与用户条目分开。这意味着邮政编码可以很好地格式化为完整代码,例如“AB1 1BA”,或者它可以是您可以想象的任何东西。我见过一些正则表达式来检查邮政编码的格式,但如果我得到类似“AB111AD”等的东西,它知道在哪里拆分它。 这是为了返回邮政编码的第一部分,在上面的例子中是“AB11”。有什么想法吗? 谢谢..
最佳答案
我以前写过类似的东西。我认为您可以在最后一位数字之前拆分。 (例如,删除所有空格,找到最后一位数字,然后在其前插入一个空格):
static readonly char[] Digits = "0123456789".ToCharArray();
...
string noSpaces = original.Replace(" ", "");
int lastDigitIndex = noSpaces.LastIndexOfAny(Digits);
if (lastDigitIndex == -1)
{
throw new ArgumentException("No digits!");
}
string normalized = noSpaces.Insert(lastDigitIndex, " ");
Wikipedia entry 有很多细节,包括用于验证的正则表达式(规范化后:)
关于c#英国邮政编码拆分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1172097/