[英]How can I return only the digits from a large string with symbols, letters and of course digits with C#
我在這里有這段代碼,我需要返回僅包含數字的args.Content (我的輸入數據)並刪除其余字符。 我一直在嘗試使用正則表達式進行很多操作,但是對我來說卻沒有用。 我幾乎不了解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";
}
}
}
希望你能幫忙
只需刪除不是數字的任何內容即可。 有一個用於數字的預定義字符類: \\d
,否定符是\\D
所以您的正則表達式就是:
\D+
在您的C#代碼中,它將類似於
return Regex.Replace(args.Content, @"\D+", "");
當然不是最有效的,但是,哦,我忍不住要執行一些LINQ:
var digitsOnly = new string(args.Content.Where(c => char.IsDigit(c)).ToArray())
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();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.