Как я могу вернуть только цифры из большой строки с символами, буквами и, конечно, цифрами с С#

Вопрос:У меня есть этот код здесь, и мне нужно вернуть args.Content (мои исходные данные) только с цифрами и удалить остальные символы. Я пробовал много вещей с регулярными выражениями, но он не работал у меня. Я понятия не имею о С#, и мне действительно нужна помощь от разработчиков этого веб-сайта. using System; using VisualWebRipper.Internal.SimpleHtmlParser; using VisualWebRipper;

Вопрос:

У меня есть этот код здесь, и мне нужно вернуть 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();

Оцените статью
Добавить комментарий