检测文本框中的空格

时间:2012-01-15 00:02:58

标签: c# winforms

在具有多个空格(例如1 1 A)的WinForms文本框中,在1之间有空格,我如何通过字符串方法或正则表达式检测到这一点?

4 个答案:

答案 0 :(得分:1)

使用IndexOf

if( "1 1a".IndexOf(' ') >= 0 ) {
    // there is a space.
}

答案 1 :(得分:1)

这个功能应该适合你。

bool DoesContainsWhitespace()
{
   return textbox1.Text.Contains(" ");
}

答案 2 :(得分:1)

int NumberOfWhiteSpaceOccurances(string textFromTextBox){
 char[] textHolder = textFromTextBox.toCharArray();
 int numberOfWhiteSpaceOccurances = 0;
 for(int index= 0; index < textHolder.length; index++){
   if(textHolder[index] == ' ')numberOfWhiteSpaceOccurances++;
 }
 return numberOfWhiteSpaceOccurances;
}

答案 3 :(得分:0)

不清楚问题是什么,但是如果你只是想要一种方法来判断给定字符串中是否有任何空格,那么其他堆栈用户提出的解决方案(也可以工作)是不同的解决方案是:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;

namespace Testing
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine(PatternFound("1 1 a"));
            Console.WriteLine(PatternFound("1     1    a"));
            Console.WriteLine(PatternFound("            1     1   a"));

        }

        static bool PatternFound(string str)
        {
            Regex regEx = new Regex("\\s");
            Match match = regEx.Match(str);
            return match.Success;
        }
    }
}

如果你想要的是确定是否出现一系列连续的空格,那么你需要在正则表达式模式字符串中添加更多。 有关选项,请参阅http://msdn.microsoft.com/en-us/library/az24scfc(v=vs.110).aspx