如何识别用户输入的注释字符串。假设用户输入了
> I am /*not working*/ right now.
所以我想将注释的子字符串> /* not working*/
转换为大写。我怎么能在c#中做到这一点。转换不是问题。问题是如何识别评论?在if块中做什么??
static void comment(string exp_string)
{
for (int i = 0; i < exp_string.Length; i++)
{
if (exp_string[i] == 47 && exp_string[i + 1] == 42)
}
}
答案 0 :(得分:0)
如果您被限制使用像正则表达式一样干净的内容,请使用String.SubString()和String.ToUpper()。
我认为你被限制是愚蠢的,但有时别无选择。祝你好运。
编辑:要考虑的另一件事是使用IndexOf()。但是,我要在MSDN中找到
答案 1 :(得分:0)
您可以使用此方法:
public static string CommentToUpper(string input)
{
int index = input.IndexOf("/*");
if (index >= 0)
{
int endIndex = input.LastIndexOf("*/");
if (endIndex > index)
return string.Format("{0}/*{1}*/{2}",
input.Substring(0, index),
input.Substring(index + 2, endIndex - index - 2).ToUpper(),
input.Substring(endIndex + 2));
else
return string.Format("{0}/*{1}",
input.Substring(0, index),
input.Substring(index + 2).ToUpper());
}
return input;
}
以这种方式使用它:
string output = CommentToUpper("> I am /*not working*/ right now.");
Console.Write(output);