Извлечь строку до точки перед пробелом - PullRequest
0 голосов
/ 12 июля 2020

У меня есть следующая строка:

Id.Action.AddToken Host Token
Id.Action.AddTokenFile path\to\file.ext 

Я хочу сопоставить все, что идет до последней точки, которая стоит перед первым пробелом. Итак, в этом случае я хочу вернуться:

Id.Action.   (including the dot)

Я уже пробовал ([^\s]+) регулярное выражение, чтобы найти первый пробел, но как мне поставить точку перед ним?

1 Ответ

3 голосов
/ 12 июля 2020

Вы получите лучшую производительность (и, возможно, более читаемый код), если не не используете регулярное выражение:

// First, search for the space, starting from the beginning of the string
int space = str.IndexOf(' ');
// Then, search backwards from the space until you find a dot
int dot = str.LastIndexOf('.', space);
// Get the substring (+ 1 to include the dot)
var result = str.Substring(0, dot + 1);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...