Quando uso expressões regulares para substituir espaços em branco, \s também corresponde ao final de uma linha e não apenas ao espaço em uma linha. Como posso corrigir isso para substituir apenas os espaços em branco em uma linha.
Responder1
\s
significa qualquer tipo de espaço em branco, ou seja. espaço simples, tabulação, quebra de linha...
Você pode usar \h
para espaço horizontal: espaço ou tabulação.
Se quiser combinar apenas espaços entre palavras, você pode usar:(?<=\S)\h+(?=\S)
onde
(?<=\S)
é uma visão positiva que garante que não tenhamos espaços em branco antes(?=\S)
é uma previsão positiva que garante que não teremos espaços em branco depois.
Responder2
Você pode combinar os caracteres de espaço em branco específicos desejados, em vez de selecionar todos os caracteres de espaço em branco.
Por exemplo, para corresponder a um ou mais espaços e tabulações, use [ \t]+
. Observe que os caracteres de espaço E \t serão correspondidos.