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