C# 如何反转包含空格和特殊字符的字符串
包含空格和特殊字符的字符串反转。如果不使用正则表达式,如何实现这一点 输入:C# 如何反转包含空格和特殊字符的字符串,c#,C#,包含空格和特殊字符的字符串反转。如果不使用正则表达式,如何实现这一点 输入:“M@#AD()/A?#M” 输出:“MADAM”此代码应该可以正常工作: string n = "M @#.AD()/A?#M"; string tmp = Regex.Replace(n, "[^0-9a-zA-Z]+", ""); string backwards = new string(tmp.Reverse().ToArray()); Consol
“M@#AD()/A?#M”
输出:
“MADAM”
此代码应该可以正常工作:
string n = "M @#.AD()/A?#M";
string tmp = Regex.Replace(n, "[^0-9a-zA-Z]+", "");
string backwards = new string(tmp.Reverse().ToArray());
Console.WriteLine(backwards);
删除除字符串(单词)以外的所有内容
这是第二个版本,但在我看来,您应该使用正则表达式
您可以将特殊字符保存在字符串数组中,并询问它们是否存在于包含的字符串中
代码:
string n=“M@#AD()/A?#M”;
字符串[]字符=新字符串[]{“?”,“,”,“,”,“,”,“/”,“!”,“@”,“#”,“$”,“%,”,“^”,“&“,“*”,“,”,“\”,“;”,“(”,”,“:”,“|”,“[”,“]);
//根据字符串数组长度迭代次数。
for(int i=0;i
我想到的解决方案之一:
string input = "D @#.O()/?#G";
StringBuilder builder = new StringBuilder();
for (int i = input.Length-1; i >= 0; i--)
{
if (Char.IsLetter(input[i]))
{
builder.Append(input[i]);
}
}
string result = builder.ToString();
结果是“上帝”。这里有一句话:
string.Join("", input.Where(char.IsLetter).Reverse()));
您尝试了什么,但什么不起作用?您可以使用另一个字符串吗?这似乎是正则表达式的一个很好的用例-为什么不使用它们呢?首先,您需要从字符串中删除特殊字符,选中此项:。然后是反向,选中此项:作为旁注:使用回文回答反向问题稍微有点c关于融合。我想你误解了这个问题:如果不使用regex,我怎么能做到这一点?
没有理由不使用regex。事实上,这是一个非常好的答案。是的,sryy没有看到它,我将在5分钟内编辑它。是的,这也是正确的,但我只是有一个特殊情况,我不会使用regex。它对我有效。谢谢。
string input = "D @#.O()/?#G";
StringBuilder builder = new StringBuilder();
for (int i = input.Length-1; i >= 0; i--)
{
if (Char.IsLetter(input[i]))
{
builder.Append(input[i]);
}
}
string result = builder.ToString();
string.Join("", input.Where(char.IsLetter).Reverse()));