Обнаружение пробелов в текстовом поле - PullRequest
0 голосов
/ 15 января 2012

В текстовом поле WinForms с несколькими пробелами (например, 1 1 A), где, между 1, есть пробел, как я могу обнаружить это с помощью строковых методов или регулярных выражений?

Ответы [ 4 ]

1 голос
/ 15 января 2012

Эта функция должна помочь вам.

bool DoesContainsWhitespace()
{
   return textbox1.Text.Contains(" ");
}
1 голос
/ 15 января 2012
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;
}
1 голос
/ 15 января 2012

использовать IndexOf

if( "1 1a".IndexOf(' ') >= 0 ) {
    // there is a space.
}
0 голосов
/ 30 апреля 2014

Не совсем понятно, в чем проблема, но в случае, если вам просто нужен способ узнать, есть ли пробел где-либо в данной строке, решение, отличное от предложенных другими пользователями стека (что также работает) это:

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 за опциями.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...