我需要查找並替換文本中的所有單詞。 格式的這些詞: 與(long)
開始,與;
例如通過開始和停止字符在文本中查找單詞
(long)Row["Id"];
什麼是這個格式正規表達式結束?我嘗試了一些,但沒有爲我工作。 謝謝。
我需要查找並替換文本中的所有單詞。 格式的這些詞: 與(long)
開始,與;
例如通過開始和停止字符在文本中查找單詞
(long)Row["Id"];
什麼是這個格式正規表達式結束?我嘗試了一些,但沒有爲我工作。 謝謝。
嘗試以下方法:
var input = "(long)Row["Id"];";
var result = Regex.Replace(input, @"\(long\)([^;]+)", "$1.ToLong()");
下面的表達式:\(long\)([^;]+)
:
\(
:匹配開放括號(
。long
:長字符匹配單詞。\)
:匹配一個封閉的圓括號)
。([^;]+)
:匹配的一個或多個非分號字符,並將它們放入捕獲組1.是的,它的工作原理。感謝模式解釋。 –
@erkandemir歡迎您,很高興我能提供幫助。 –
\(long\)(.*?);
(.*?)
通常試圖捕捉多達必須找到;
底。至於(long)
,你將需要轉義括號。
作爲替代正則表達式,可以使用String.StartsWith
String.EndsWith
和方法。
例如;
string[] lines = File.ReadAllLines(@"C:\Users\Public\TestFolder\Text.txt");
foreach(string word in lines)
{
if (word.StartsWith("(long)", StringComparison.InvariantCulture) && word.EndsWith(';', StringComparison.InvariantCulture))
{
//Replace your string here.
}
}
你想用什麼替換它們?你試過什麼了 ? –
替換爲行[「Id」]。ToLong();首先,我必須找到這種格式的所有單詞。我提供簡單的^和$ regexp字符,例如不同的組合:^(long); $ –