首页 > 怎么删除字符串数组中的特定词

怎么删除字符串数组中的特定词

使用replace的好像不行,会把所有数组中的字母全去掉
删除一些is、the、a介词副词之类的

string htmlstr = "";
        string str = TextArea1.Value;
        str = str.Replace('.', ' '); 
        str = str.Replace(',', ' ');
        str = str.Replace('?', ' '); 
        str = str.Replace(';', ' '); 
        str = str.Replace(':', ' '); 
        str = str.Replace('!', ' ');
        
        
        
        string[] str1 = str.Split(' ');
     

        string[] value = str1;

这些词前或后必定有空格,你可以带上空格一起replace

str.replace(" a ","");
str.replace("a ","");
str.replace(" a","");

把标点替换成空格,然后分隔空格成数组,再遍历删除?但是这样删除后原语句的标点和空格会无法还原到原来的位置。

用正则比较合适。

var str = TextArea1.Value;
var expr = "([ ]|.|,|?|;|:|!)(is|the|a)([ ]|.|,|?|;|:|!)";

MatchCollection collection = Regex.Matches(str, expr);
foreach (Match m in collection)
{
    str = str.Replace(m.Value, "");
}

Console.WriteLine(str);

很久没用 c#,不知道写的对不对。

【热门文章】
【热门文章】