我试图根据总字符在文本框中的第3个或第4个字符后添加一个空格。
例如,如果文本框值包含6个字符,则在第3个字符后添加一个空格。如果文本框值包含7个字符,则在第4个字符后添加一个空格。
在文本框中输入7个字符的示例
文本框中的6个字符的示例
我目前正在努力使其正常工作。
private void FirstPostcode_LostFocus(object sender, RoutedEventArgs e)
{
if (FirstPostcode.Text.Length == 3)
{
FirstPostcode.Text += " ";
}
}
任何帮助将不胜感激。谢谢。
答案 0 :(得分:2)
您可以使用Insert()
在右侧第三个位置插入一个空格。
if (FirstPostcode.Text >= 3)
{
FirstPostcode.Text = FirstPostcode.Text.Insert(FirstPostcode.Text.Length - 3, " ");
}
如果您要先检查是否已插入空格并且不想再次插入空格,则可以在字符串上使用索引器。
if (FirstPostcode.Text.Length == 3
|| FirstPostcode.Text.Length >= 4
&& FirstPostcode.Text[FirstPostcode.Text.Length - 4] != ' ')
{
FirstPostcode.Text = FirstPostcode.Text.Insert(FirstPostcode.Text.Length - 3, " ");
}
答案 1 :(得分:0)
尝试以下操作:
string[] inputs = { "NR105BE", "BD11AA" };
foreach (string input in inputs)
{
string output = "";
if (input.Length == 7)
{
output = input.Substring(0, 4) + " " + input.Substring(4);
}
else
{
output = input.Substring(0, 3) + " " + input.Substring(3);
}
Console.WriteLine(output);
}
Console.ReadLine();