簡體   English   中英

用任何可能的字符串C#替換字符

[英]Replace character with any possible string c#

可以說我有像這樣的字符串Test%Test ,我存儲了像這樣的字符串:

Test123Test TestTTTTest Test153jhdsTest 123Test TEST123

所以我想要的是當我在文本框中輸入Test它會使用Test int本身過濾所有內容,這將使我得到所有字符串,這很容易,但是我想輸入Test%Test ,它需要過濾所有具有Test[anything]Test本身Test[anything]Test (因此結果將是第一個,第二個和第三個字符串)。 我該怎么做?

使用正則表達式的簡單解決方案是:

string[] values = new string[] { "Test123Test",
            "TestTTTTest",
            "Test153jhdsTest",
            "123Test",
            "TEST123" };

string searchQuery = "Test%Test";

string regex = Regex.Escape(searchQuery).Replace("%", ".*?");

string[] filteredValues = values.Where(str => Regex.IsMatch(str, regex)).ToArray();

或單場比賽:

string value = "Test123Test";

string searchQuery = "Test%Test";

string regex = Regex.Escape(searchQuery).Replace("%", ".*?");

if ( Regex.IsMatch(value, regex) )
{
    // do something with the match...                
}

我們用正則表達式替換%(。=任何字符,* =零次或多次,?=惰性量詞)。 您可以在此處了解有關正則表達式的更多信息

暫無
暫無

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

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