我使用Microsoft Visual Studio
并有一个文件,其中包含一些由|
. 我需要找到一个特定的模式并将其从文件中删除
sometext|maxusage=sometext,,,,...|somemoretext
我想隔离任何|
后跟的maxusage=
,然后是任何文本直到下一个|
在上述情况下,我需要隔离
|maxusage=sometext,,,,...|
我使用Microsoft Visual Studio
并有一个文件,其中包含一些由|
. 我需要找到一个特定的模式并将其从文件中删除
sometext|maxusage=sometext,,,,...|somemoretext
我想隔离任何|
后跟的maxusage=
,然后是任何文本直到下一个|
在上述情况下,我需要隔离
|maxusage=sometext,,,,...|
它简单而单一的陈述
File.WriteAllText("c:\\test.txt", Regex.Replace(File.ReadAllText("c:\\test.txt"), "\|maxusage=[^\|]+\|", ""));
这是我的朋友的 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
请注意,它确实有效(如果 Visual Studio 没有实现惰性量词,则不会):
/\|maxusage=.*?\|/
使用这个正则表达式\|maxusage.*?\|
为什么不使用string.Split()
来拆分您的字符串并进行调查呢?
string[] parts = text.Split('|');
foreach(string s in parts){
//iterate of array and find what you are looking for
}