2014-11-10 2 views
0

У меня есть строка, как этоДобавить пробел между числом и Строкой

«My Train Coming на трек 10B на 6А и струнном испытание с 11S»

Теперь я хочу добавить пространства между числом, как 11 и Чара B и так далее я хочу, как это

"My Train Coming на Track 10 B 6 A и тест строки с 11 S"

с использованием C#. есть ли какая-то логика для этого. поблагодарить

ответ

7

С регулярным выражением:

var result = Regex.Replace(str, @"(?<=\d)(?=\p{L})", " "); 

Это заменяет "пустое пространство" между цифрой ((?<=\d)) и буквы ((?=\p{L})) с пробелом.

Другой метод без lookarounds будет:

var result = Regex.Replace(str, @"(\d)(\p{L})", "$1 $2"); 

В этом случае он заменяет последнюю цифру и первую букву с рисунком $1 $2, вставив место в этом процессе.

3

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

var result = Regex.Replace("4A", @"(?=\p{L})(?<=\d)", " "); 

Я надеюсь, что это поможет.

+1

На самом деле это то же самое, порядок обращений не имеет значения, так как они являются утверждениями с нулевой длиной. –

Смежные вопросы