我正在使用Windows表单,我正在构建用户进入英国邮政编码的应用程序。
UK PostCode在最后3个字符前面包含空格,例如:
L22 9QY
,L5 3SG
,WA10 4RT
所以在最后3个字符之前总是有空格。我想要做的是:当用户像这样L53SG
输入他们的PostCode时,我想在最后3个字符之前插入空格,使其像L5 3SG
一样。
说我们有:
string PostCode = "L53SG";
如何在PostCode字符串中的最后3个字符之前插入空格?
任何人都知道如何做到这一点。谢谢
答案 0 :(得分:5)
您可以使用string.Insert
和string.Length
轻松完成此操作:
string insertedStr = str.Insert(str.Length - 3, " ");
string.Length
将返回string
的长度,并将其减去3,您可以获得要插入space
的索引位置。
最后,您只需使用string.Insert(index, value)
插入替换string
(在您的情况下为空格(" "
))
答案 1 :(得分:4)
postCode = postCode.Replace(" ", "");
if (postCode.Length > 3)
postCode = postCode.Insert(postCode.Length - 3, " ");
首先删除那里的所有空格,然后确保至少有3个字符(我们可能希望在这种情况下抛出异常,因为它不是您使用其余部分的有效输入)并插入空格3个空格回来。
可以看到用户是否输入了一个空格,如果他们这样做就跳过该过程,但这种方式更简单,并且可以捕获用户在错误的地方添加一个空格的情况。
答案 2 :(得分:3)
如果您需要,可以先删除字符串中的任何空格:
PostCode = PostCode.Replace(" ", string.Empty);
然后,使用Insert()
方法:
string PostCode = "L53SG";
PostCode = PostCode.Insert(PostCode.Length - 3, " ");