Вопрос:
У меня есть этот код здесь, и мне нужно вернуть args.Content (мои исходные данные) только с цифрами и удалить остальные символы. Я пробовал много вещей с регулярными выражениями, но он не работал у меня. Я понятия не имею о С#, и мне действительно нужна помощь от разработчиков этого веб-сайта.
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.
Итак, вы regex просто:
D+
В коде С# это будет что-то вроде
return Regex.Replace(args.Content, @»D+», «»); Ответ №1
Конечно, не самый эффективный, но, ну, я не мог удержаться от выполнения LINQ:
var digitsOnly = new string(args.Content.Where(c => char.IsDigit(c)).ToArray()) Ответ №2StringBuilder 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();