C# 如何检查字符串是否只包含特定字符而不是全部字符?
这是我的密码:C# 如何检查字符串是否只包含特定字符而不是全部字符?,c#,regex,C#,Regex,这是我的密码: string rejon = textBox.Text.Trim(); if ((!Regex.IsMatch(rejon, @"^[a-zA-Z]\d{3}$"))) { MessageBox.Show("Error. Please, try again!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); textBox.Clear(); textBox.Focus();
string rejon = textBox.Text.Trim();
if ((!Regex.IsMatch(rejon, @"^[a-zA-Z]\d{3}$")))
{
MessageBox.Show("Error. Please, try again!", "Error", MessageBoxButtons.OK,
MessageBoxIcon.Error);
textBox.Clear();
textBox.Focus();
return false;
}
我只想要字母“R”和“S”,而不是所有的字母[a-zA-Z]。用正则表达式可以吗?我知道我可以将其子串,然后再进行另一次验证,但我想问的是,我可以用regex执行此操作吗?您必须将
[a-zA-Z]
更改为[RS]
以检查字符串中是否只有“R”和“s”。您只需将[a-zA-Z]更改为[RS]以检查字母“R”和“s”。最好使用/^[RS]+$/i
或/^[RSrs]+$/
匹配ASCII字母表的输入字符串。当然,只需使用[RS]而不是[a-zA-Z]您想检查字符串是否只有R或(和)S?例如,“RRR”、“RSR”、“SSS”?@RahulHendawe据我所知,您不需要该文件中的-
expression@TheLethalCoder:你是对的,谢谢你纠正我。你也可以保持简单,只要做:if(rejon[0]!=“R”&&rejon[0]!=“S”)通过仅进行此更改,它将仅检查字符串是否以R或SIsn开头。这不是OP想要的吗?而不是所有的[…]只是字母“R”和“S”。我不知道我觉得措辞有点不清楚,我只是想提一下it@TheLethalCoder你说得对,这不是不可能的。据我所知,这就是他正在搜索的内容。如果我发布了不清楚的问题,我很抱歉,仅通过进行此更改,我将只检查字符串是否以R或S开头,这正是我需要的。