Я создал Regex, чтобы разделить строку разделителем ($
), но он работает не так, как я хочу.
var str = "sfdd fgjhk fguh $turn.bak.orm $hahr*____f";
var list = Regex.Split(str, @"(\$\w+)").Where(x => !string.IsNullOrEmpty(x)).ToList();
foreach (var item in list)
{
Console.WriteLine(item);
}
Выход:
"sfdd fgjhk fguh "
"$turn"
".bak.orm "
"$hahr"
"*____f"
Проблема в том, что \w+
не соответствует ни периодам, ни звездам. Вот вывод, который я хочу:
"sfdd fgjhk fguh "
"$turn.bak.orm"
" "
"$hahr*____f"
По сути, я хочу разделить строку на $
и убедиться, что $
появляется в начале подстроки и больше нигде (допустимо, чтобы подстрока была только $
). Я также хочу убедиться, что пробельные символы сохраняются, как в первой подстроке, но любое совпадение не должно содержать пробелов, как во втором и четвертом случаях. Меня не волнует чувствительность к регистру.