2013-11-09 12 views
-2

我需要查找並替換文本中的所有單詞。 格式的這些詞: 與(long)開始,與; 例如通過開始和停止字符在文本中查找單詞

(long)Row["Id"]; 

什麼是這個格式正規表達式結束?我嘗試了一些,但沒有爲我工作。 謝謝。

+2

你想用什麼替換它們?你試過什麼了 ? –

+0

替換爲行[「Id」]。ToLong();首先,我必須找到這種格式的所有單詞。我提供簡單的^和$ regexp字符,例如不同的組合:^(long); $ –

回答

1

嘗試以下方法:

var input = "(long)Row["Id"];"; 
var result = Regex.Replace(input, @"\(long\)([^;]+)", "$1.ToLong()"); 

下面的表達式:\(long\)([^;]+)

  • \(:匹配開放括號(
  • long:長字符匹配單詞。
  • \):匹配一個封閉的圓括號)
  • ([^;]+):匹配的一個或多個非分號字符,並將它們放入捕獲組1.
+0

是的,它的工作原理。感謝模式解釋。 –

+0

@erkandemir歡迎您,很高興我能提供幫助。 –

2
\(long\)(.*?); 

(.*?)通常試圖捕捉多達必須找到;底。至於(long),你將需要轉義括號。

0

作爲替代正則表達式,可以使用String.StartsWithString.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. 
    } 
} 
相關問題