簡體   English   中英

如何使用正則表達式在字符串中查找模式?

[英]How to use regexp for finding patterns in strings?

我有很多想要在許多字符串數組中找到匹配的字符串並將其替換為“ NON”字符串的模式。 例如,如果我們有:

str[0]={"this","is","a simple","text","for","example","."};
str[1]={"Can","you","help me","please","?","thank","you","very much"};
string[] patterns={"the","that","(eg width)","123",",","text","for example","help me","very much"};

將str [i]中匹配的模式替換為“ NON”是期望的結果:

str[0]={"this","is","a simple","NON","NON","NON","."};
str[1]={"Can","you","NON","please","?","thank","you","NON"};`

我該怎么辦?

謝謝。

如果您想要一個變異解決方案:

public void ReplaceStrs(string[] srcStrs, string[] patterns, string changeTo)
{
    for (int i=0; i < srcStrs; i++) {
        if (Array.IndexOf(patterns, toChange[i]) >= 0) {
            srcStrs[i] = changeTo;
        }
    }
}

非變異:

public string[] ReplaceStrs(string[] srcStrs, string[] patterns, string changeTo) {
     srcStrs.Select(s => Array.IndexOf(patterns, s) >= 0 ? changeTo : s).ToArray();
}

一個只是為了好玩的班輪:]

str = Array.ConvertAll(str, a => Array.ConvertAll(a, i => patterns.Contains(i) ? "NON" : i));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM