在c#中的单词之间只允许一个空格

时间:2015-10-21 12:24:08

标签: c# winforms

我想在Windows窗体中进行验证,只允许文本值之间有一个空格。怎么做c#。提前致谢。 我不想在c#中使用任何其他方法进行此验证。请帮我这样做。

if (e.Handled = (e.KeyChar == (char)Keys.Space)) 
    { 
    MessageBox.Show("Spaces are not allowed at start"); 
    } 
}

2 个答案:

答案 0 :(得分:3)

string str = "words   with multiple         spaces";

Regex regex = new Regex(@"[ ]{2,}", RegexOptions.None);     
str = regex.Replace(str, @" "); // "words with multiple spaces"

答案 1 :(得分:0)

获取字符串长度,然后测试每个字符是否为空格。如果它有超过1个空格,请使你的功能失败。

String myString = "My String";
int myStringLength = myString.length;
int nrOfSpaces = 0;

for(i = 0; i <= myStringLength)
{
   if(myString[i] == " ")
   {
      nrofspaces++;
      i++;
   }
}