2

ここにこのコードがあり、args.Content (入力データ) を数字のみで返し、残りの文字を削除する必要があります。私は正規表現で多くのことを試してきましたが、うまくいきませんでした。私は C# についてほとんど何も知らないので、この Web サイトのプログラマーの助けが本当に必要です。

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";
        }
    }
}

あなたが助けてくれることを願っています

4

3 に答える 3

3

数字以外のものを削除するだけです。数字には定義済みの文字クラスがあります: \d、否定は\Dです。

したがって、正規表現は単純です:

\D+

あなたのC#コードでは、次のようになります

return Regex.Replace(args.Content, @"\D+", "");
于 2012-05-25T07:45:50.343 に答える
2

確かに最も効率的ではありませんが、まあ、LINQ を実行せずにはいられませんでした。

var digitsOnly = new string(args.Content.Where(c => char.IsDigit(c)).ToArray())
于 2012-05-25T07:48:37.663 に答える
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();
于 2012-05-25T07:52:19.210 に答える