我有一个字符串(输入由用户执行),其中有一个表达式要对正则表达式模式匹配器进行检查。
我想循环遍历字符串直到EOF。我在考虑使用input.Length
,但后来我不知道如何继续比较这个数字。如果整个字符串对模式是正确的,那么它返回TRUE,否则返回FALSE。这是我到现在为止的地方。
private void checkInput (String input)
{
{
String acceptedInput = "(?=\\()|(?<=\\)\\d)";
// Need a loop until End of String
// (while ?)
{
foreach (Match match in Regex.Matches(input, acceptedInput))
{
outputDialog.AppendText("Correct");
}
return true;
}
return false;
}
}
有什么办法可以吗?
谢谢
答案 0 :(得分:1)
循环遍历字符串中的每个字符:
for (int i = 0; i < stringVariable.Length; i++)
{
char x = stringVariable[i]; //is the i'th character of the string
}
但是如果您使用RegEx(通常可以处理整个字符串),那么这种方法毫无意义。
也许解释一下你想要实现的目标?
答案 1 :(得分:1)
即。
char[] array = input.ToCharArray();
for (int i = 0; i < array.Length; i++)
{
var letter = array[i];//here is the individual character
}
答案 2 :(得分:0)
你不需要循环:
string toAvoid = "$%&#";
if (input.IndexOfAny(toAvoid.ToCharArray()) != -1)
{
// the input contains forbidden characters
}