我如何检查字符串包含一个字母空格和另一个字母c#

本文关键字:空格 另一个 包含一 字符串 何检查 检查 | 更新日期: 2023-09-27 17:53:45

我需要帮助检查字符串是否包含像:p I E T S N O T这样的单词。

我不希望它说的是真的,当我有这样的:"嗨,我的名字是"等。只有当它是1个字母空格1个字母并且在一个字符串中出现3次或更多。这是给我游戏的banfilter准备的。我不希望人们说嗨,来我的比赛吧,嗨,嗨,嗨。

我想不出来,因为我不想为一个单词添加所有的组合

我如何检查字符串包含一个字母空格和另一个字母c#

严格按照您的要求,所有不是字母后跟空格的内容并重复该顺序,直到字符串结束

void Main()
{
    string test = "P I E T S N O T . C O M";
    Console.WriteLine(CheckSpaceLetterSequence(test));
    test = "Hi my name is";
    Console.WriteLine(CheckSpaceLetterSequence(test));
}

bool CheckSpaceLetterSequence(string test)
{
    int count = 0;
    bool isSpace = (test[0] == ' ');
    for(int x = 1; x < test.ToCharArray().Length; x++)
    {
        bool curSpace = (test[x] == ' ');
        if(curSpace == isSpace)
            return false;
        isSpace = !isSpace;
        count++;
        if(count == 3)
           break;
    }
    return true;
}

这应该能奏效:

bool allLetterSpace = text.Trim().Length >= 6 && text.Trim()
   .Select((c, i) => new { IsWhiteSpace= Char.IsWhiteSpace(c), Index = i })
   .All(x => x.Index % 2 == 1 ? x.IsWhiteSpace : !x.IsWhiteSpace);
string word = "Hello, my name is f i s h b i s c u i t s";
if (word.Replace(" ", "").Contains("fishbiscuits"))
{
 // code here
}

这将告诉您text中是否每个其他字符都是空格:

bool spaced = text.Select((c,i) => (c == ' ') == (i % 2 == 1)).All(b => b);

正则表达式的解决方案如下:

Regex regex = new Regex(@"(?<name>(?:[A-Z.] ){2,}[A-Z.])");
Match m = regex.Match("P I E T S N O T . C O M");
if (m.Success)
    MessageDlg.Show("Name is " + m.Groups["name"].Value);
else
    MessageDlg.Show("No name found");

如果您需要匹配除大写字母和点以外的更多字母,则应该扩展两个[A-Z]。[A-Za-z0-9.,-_].

相关文章: