i want to remove an array of stop words from input string, and I have the following procedure
string[] arrToCheck = new string[] { "try ", "yourself", "before " };
string input = "Did you try this yourself before asking";
foreach (string word in arrToCheck )
{
input = input.Replace(word, "");
}
Is it the best way to conduct this task, specially when I have (450) stop words and the input string is long? I prefer using replace method, because I want to remove the stop words when they appear in different morphologies. For example, if the stop word is “do” then delete “do” from (doing, does and so on ). are there any suggestions for better and fastest processing? thanks in advance.
May I suggest a
StringBuilder?http://msdn.microsoft.com/en-us/library/system.text.stringbuilder.aspx
Because it does all its processing inside it’s own data structure, and doesnt allocate hundreds of new strings, I believe you will find it to be far more memory efficient.