Я хочу замінити всі більше 2 пробілів у рядку, але не нові рядки, я маю цей регулярний вираз: \s{2,}
але він також відповідає новим рядкам.
Як я можу зіставити лише 2 пробіли, а не нові рядки?
Я використовую c #
Я хочу замінити всі більше 2 пробілів у рядку, але не нові рядки, я маю цей регулярний вираз: \s{2,}
але він також відповідає новим рядкам.
Як я можу зіставити лише 2 пробіли, а не нові рядки?
Я використовую c #
Відповіді:
Помістіть пробіли, яким ви хочете відповідати, всередині класу символів. Наприклад:
[ \t]{2,}
відповідає 2 або більше пробілам або вкладкам.
Ви також можете зробити:
[^\S\r\n]{2,}
який відповідає будь-якому пробілу, крім \r
і \n
принаймні двічі (зауважте, що величина " S
в" \S
скорочена [^\s]
).
\s{2,}
нові рядки? Якби це було, \n\s{2,}
я б зрозумів. І чому введення буквальних пробілів у дужки працює?
\s
відповідає пробілам, вкладкам та розривам рядків. "А чому введення буквального пробілу в дужках працює?", Ну, помилка, бо це так. Не знаю, що ще сказати про це :)