-2

我需要查找并替换文本中的所有单词。这些词的格式:以示例开头,以 示例(long)结尾;

(long)Row["Id"];

这种格式的正则表达式模式是什么?我尝试了一些,但对我不起作用。谢谢。

4

3 回答 3

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

(.*?)通常会尝试捕获尽可能多的内容;以在最后找到。至于(long)你将需要转义括号。

于 2013-11-09T14:20:54.343 回答
1

尝试以下操作:

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

以下表达式\(long\)([^;]+)

  • \(: 匹配一个开括号(
  • long: 从字面上匹配单词 long。
  • \): 匹配一个右括号)
  • ([^;]+): 匹配一个或多个非分号字符并将它们放入捕获组 1。
于 2013-11-09T14:26:07.137 回答
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.
   }
}
于 2013-11-09T14:29:35.507 回答