我如何检查字符串包含一个字母空格和另一个字母c#
本文关键字:空格 另一个 包含一 字符串 何检查 检查 | 更新日期: 2023-09-27 17:53:45
我需要帮助检查字符串是否包含像:p I E T S N O T这样的单词。
我不希望它说的是真的,当我有这样的:"嗨,我的名字是"等。只有当它是1个字母空格1个字母并且在一个字符串中出现3次或更多。这是给我游戏的banfilter准备的。我不希望人们说嗨,来我的比赛吧,嗨,嗨,嗨。
我想不出来,因为我不想为一个单词添加所有的组合
严格按照您的要求,所有不是字母后跟空格的内容并重复该顺序,直到字符串结束
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.,-_].