如何从输入字符串中过滤掉特定字符? 请看下面我的尝试方式。
using System;
namespace PlainTest
{
class arrayTest
{
static void Main(string[] args)
{
bool doAlways = true;
int i = 1;
do
{
Console.WriteLine("Test Number : {0}", i++);
Console.Write("Key in the string: ");
char[] alpha = { 'a', 'b', 'c' };
string text = Console.ReadLine();
string filterAlphabet = text.Trim(alpha);
Console.WriteLine("The input is : {0}", text);
Console.WriteLine("Ater trimed the alpha a,b,c : {0}", filterAlphabet);
} while (doAlways == true);
}
}
}
但是当我尝试在数字之间修剪角色时。过滤器不起作用。请参阅下文,了解不同输入的输出。
Test Number : 1
Key in the string: 123abc
The input is : 123abc
Ater trimed the alpha a,b,c : 123
Test Number : 2
Key in the string: abc123
The input is : abc123
Ater trimed the alpha a,b,c : 123
**Test Number : 3
Key in the string: aa1bb2cc3
The input is : aa1bb2cc3
Ater trimed the alpha a,b,c : 1bb2cc3**
Test Number : 4
Key in the string: aaabbbccc123
The input is : aaabbbccc123
Ater trimed the alpha a,b,c : 123
Test Number : 5
Key in the string: a12bc
The input is : a12bc
Ater trimed the alpha a,b,c : 12
Test Number : 6
Key in the string:
请告诉我。 感谢。
答案 0 :(得分:2)
您可以遍历字符串以查找要删除的字符,而不是使用trim
,而是用空字符串替换它们:
var alpha = new string[] { "a", "b", "c" };
foreach (var c in alpha)
{
text = text.Replace(c, string.Empty);
}
答案 1 :(得分:0)
Trim(char [])仅删除前导或尾随字符,与Trim()删除前导/尾随空格的方式相同。一旦Trim命中一个不在数组中的字符,它就会停止(从前面和后面都工作)。要从任何地方删除所需的字符,您需要使用替换或正则表达式。
答案 2 :(得分:0)
您可以使用Regex。
而不是
string filterAlphabet = text.Trim(alpha);
使用正则表达式替换a,b,c
string filterAlphabet = Regex.Replace(text,"[abc]",string.Empty);