Вопрос: Перенос hashtagged из строки с использованием регулярного выражения


Ну, как говорится в названии ... Я хочу захватить определенное слово, которое hashtagged в строке.

Пример: Это строка, которая #содержит  хэштег!

Я хочу выбрать слово содержит  из строки в виде новой строки.

Я могу себе представить, что это очень простая проблема, но я действительно не могу заставить ее работать.


5


источник


Ответы:


Насколько хорош этот шаблон? Теоретически справедливо:

"(?<=#)\w+"

сделал бы это.

Изменить, для большей полноты ответа:

string text = "This is a string that #contains a hashtag!";
var regex = new Regex(@"(?<=#)\w+");
var matches = regex.Matches(text);

foreach(Match m in matches) {
    Console.WriteLine(m.Value);
}

9



string input = "this is a string that #contains a hashtag!";
var tags = Regex.Matches(input, @"#(\w+)").Cast<Match>()
                .Select(m => m.Groups[1].Value)
                .ToList();

3