我在这里有这个代码,我需要返回 args.Content (我的输入数据)只有数字并删除其余的characteres。我一直用正则表达式尝试很多东西,但它对我没用。我几乎不知道C#,我真的需要本网站程序员的帮助。
using System;
using VisualWebRipper.Internal.SimpleHtmlParser;
using VisualWebRipper;
public class Script
{
public static string TransformContent(WrContentTransformationArguments args)
{
try
{
//Place your transformation code here.
//This example just returns the input data
return args.Content;
}
catch(Exception exp)
{
//Place error handling here
args.WriteDebug("Custom script error: " + exp.Message);
return "Custom script error";
}
}
}
希望你能帮忙
答案 0 :(得分:3)
删除任何不是数字的内容。数字有一个预定义的字符类:\d
,否定为\D
。
所以你的正则表达式很简单:
\D+
在您的C#代码中,它将类似于
return Regex.Replace(args.Content, @"\D+", "");
答案 1 :(得分:2)
当然不是最有效的,但哦,好吧,我无法抗拒做一些LINQ:
var digitsOnly = new string(args.Content.Where(c => char.IsDigit(c)).ToArray())
答案 2 :(得分:0)
StringBuilder builder = new StringBuilder();
Regex regex = new Regex(@"\d{1}");
MatchCollection matches = regex.Matches(args.Content);
foreach (var match in matches)
{
builder.Append(match.ToString());
}
return builder.ToString();