Я хочу замінити всі більше 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відповідає пробілам, вкладкам та розривам рядків. "А чому введення буквального пробілу в дужках працює?", Ну, помилка, бо це так. Не знаю, що ще сказати про це :)