-1

我使用Microsoft Visual Studio并有一个文件,其中包含一些由|. 我需要找到一个特定的模式并将其从文件中删除

sometext|maxusage=sometext,,,,...|somemoretext

我想隔离任何|后跟的maxusage=,然后是任何文本直到下一个|

在上述情况下,我需要隔离

|maxusage=sometext,,,,...|
4

5 回答 5

1

它简单而单一的陈述

File.WriteAllText("c:\\test.txt", Regex.Replace(File.ReadAllText("c:\\test.txt"), "\|maxusage=[^\|]+\|", ""));
于 2013-04-02T09:08:57.280 回答
0

这是我的朋友的 C# 代码,

using System;
using System.Text.RegularExpressions;

public class Example
{
  public static void Main()
 {
   string pattern = @"\p{Sc}*(?<amount>\s?\d+[.,]?\d*)\p{Sc}*";
  string replacement = "${amount}";
  string input = "$16.32 12.19 £16.29 €18.29  €18,29";
  string result = Regex.Replace(input, pattern, replacement);
  Console.WriteLine(result);
 }
}

// 该示例显示以下输出: // 16.32 12.19 16.29 18.29 18,29

于 2013-04-02T08:53:37.883 回答
0

请注意,它确实有效(如果 Visual Studio 没有实现惰性量词,则不会):

/\|maxusage=.*?\|/
于 2013-04-02T08:53:45.350 回答
0

使用这个正则表达式\|maxusage.*?\|

于 2013-04-02T08:53:46.137 回答
0

为什么不使用string.Split()来拆分您的字符串并进行调查呢?

string[] parts = text.Split('|');
foreach(string s in parts){
//iterate of array and find what you are looking for
}
于 2013-04-02T08:54:07.810 回答