如何在字符串C#的最后3个字符之前插入空格?

如何在字符串C#的最后3个字符之前插入空格?,c#,C#,我使用的是windows窗体,我正在构建一个应用程序,用户可以在其中输入他们的英国邮政编码 英国邮政编码在最后3个字符前包含空格,例如: L22 9QY,L5 3SG,WA10 4RT因此最后3个字符前总是有空格。我想做的是:当用户像这样输入邮政编码时,我想在最后3个字符前插入空格,使其像这样 假设我们有: string PostCode = "L53SG"; 如何在邮政编码字符串的最后3个字符之前插入空格 谁都知道怎么做。谢谢您可以使用string.Insert和string.Length

我使用的是windows窗体,我正在构建一个应用程序,用户可以在其中输入他们的英国邮政编码

英国邮政编码在最后3个字符前包含空格,例如:

L22 9QY
L5 3SG
WA10 4RT
因此最后3个字符前总是有空格。我想做的是:当用户像这样输入邮政编码时,我想在最后3个字符前插入空格,使其像这样

假设我们有:

string PostCode = "L53SG"; 
如何在邮政编码字符串的最后3个字符之前插入空格


谁都知道怎么做。谢谢

您可以使用
string.Insert
string.Length
轻松完成以下操作:

string insertedStr = str.Insert(str.Length - 3, " ");
string.Length
将返回
字符串的长度
,通过将其减去3,您可以得到要插入
空格的索引位置


最后,您只需要使用
string.Insert(index,value)
来插入替换的
string
(在您的情况下是空格(
“”

如果需要,您可以先删除字符串中的任何空格:

PostCode = PostCode.Replace(" ", string.Empty);
然后,使用
Insert()
方法:

string PostCode = "L53SG";
PostCode = PostCode.Insert(PostCode.Length - 3, " ");
首先删除其中的所有空格,然后确保至少有3个字符(在这种情况下,我们可能希望抛出一个异常,因为它不是您剩余使用的有效输入),并将空格插入3个空格


可以查看用户是否输入了空格,如果输入了空格,则可以跳过该过程,但这种方法更简单,并且可以捕捉到用户在错误位置添加空格的情况。

当我住在英国时,我总是在空格处输入我的邮政编码。应用此代码,现在有两个空格。
postCode = postCode.Replace(" ", "");
if (postCode.Length > 3)
    postCode = postCode.Insert(postCode.Length - 3, " ");