Как извлечь слово, которое имеет расширение из строки, с помощью регулярных выражений? - PullRequest
0 голосов
/ 17 марта 2019

Мне нужно извлечь слово из строки перед расширением.Допустим, у меня есть строка вроде:

"Hey Stackoverflow.xyz Whats up?"

Мне нужно извлечь слово с расширением .xyz, т.е. Stackoverflow.Как этого достичь?

Ответы [ 3 ]

1 голос
/ 17 марта 2019

Вы можете использовать положительный взгляд вперед, чтобы убедиться, что строка, которую вы хотите извлечь, следует .xyz, используя это регулярное выражение,

\S+(?=\.xyz)

Демо

Попробуйте эти C # коды,

string str = "Hey Stackoverflow.xyz Whats up?";
var m = Regex.Match(str,@"\S+(?=\.xyz)");
Console.WriteLine(m.Groups[0].Value);

Выходы

Stackoverflow

Демонстрация C # онлайн

В случае, если вы хотите извлечь вашу строку с расширением Stackoverflow.xyz, просто измените часть регулярного выражения на обычную строку следующим образом:

\S+\.xyz
0 голосов
/ 17 марта 2019

Используйте следующее регулярное выражение, чтобы извлечь нужное слово перед расширением

\s(.*)?\.

Здесь слово будет записано в скобках.

string str = "Hey Stackoverflow.xyz Whats up?";
var regexResult = Regex.Match(str,@"\s(.*)?\.");
Console.WriteLine(regexResult.Groups[1].Value);
0 голосов
/ 17 марта 2019
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...