Regex:如何获取引号、逗号、空格和新行中的字符串
本文关键字:空格 逗号 新行中 字符串 何获取 获取 Regex | 更新日期: 2023-09-27 18:26:29
我在.txt
文件中有一个字符串列表,我想获取引号、逗号、空格和新行中的数据。
以下是列表示例:
CurCode"608"、"840"、"784"、"036"、"048"、"124"、"756"、"156"、"208"、"978"、"、"826"、
我尝试了不同的方法来评论类似的问题,但它们似乎对我不起作用。
var list = Regex.Matches(input, @"'d+").Cast<Match>().Select(m => m.Value)
.ToList();
您可以简单地拆分、修剪和删除引号:
var list =
str.Split(new string[] {","}, StringSplitOptions.RemoveEmptyEntries)
.Select(x => x.Trim().Replace("'"", ""));
对于这个部分的格式,regex将满足您的需求:
//sample created with http://regexhero.net/tester/
string strRegex = @"""(?:'d+)""";
RegexOptions myRegexOptions = RegexOptions.None;
Regex myRegex = new Regex(strRegex, myRegexOptions);
string strTargetString = @"""608"", ""840"", ""784"", ""036"", ""048"", ""124"", ""756"", ""156"", ""208"", ""978"", ""826"", ""344"", ""360"", ""376"", ""356"", ""392"", ""410"", ""414"", ""484"", ""458"", ""578"", ""554"", ""634"", ""643"", ""682"", ""752"", ""702"", ""764"", ""901"", ""840"", ""704"", ""710""";
foreach (Match myMatch in myRegex.Matches(strTargetString))
{
if (myMatch.Success)
{
//Do your stuff with the value here: myMatch.Groups[0].Value
}
}
您也可以这样做:
使用字符串操作:(推荐)
示例代码:
var lst = sampleStr.Replace(""",""",",").Replace("CurCode ""","").TrimEnd('"').Split(',');
使用regex尝试以下模式:
(?<=[,'s]'")(.*?)(?='")
这种模式足以处理引用的数字以及一些字符串
现场演示
示例代码:
MatchCollection mcol = regex.Matches(sampleStr,@"(?<=[,'s]'")(.*?)(?='")");
foreach(Match m in mcoll)
{
Debug.Print(m.ToString()); // See output window
}