Notepad ++: como substituir texto específico em linhas com valores diferentes?

1

Estou modificando um jogo. Eu quero mudar certos números, mas eu preciso fazer isso de uma maneira específica.

Por exemplo:

soldier Jinetes, 24, 0, 1

Eu quero substituir o número 24, mas não alterar nenhum outro valor na linha, mas também alterar todas as outras linhas contendo o número 24 e começando com soldado.

Qualquer linha que se pareça com isso:

soldier NAME, 24, #, #

Sem afetar mais nada nessa linha e poder fazer isso independentemente do nome ou de outros valores nessa linha.

Posso fazer isso? Como posso fazer isso?

    
por Shabutie 08.12.2016 / 04:53

2 respostas

2

As expressões regulares do Notepad ++ usam o padrão PCRE

Eu usei o editor on-line regex101.com com o SABOR selecionado para ' pcre '. A mesma expressão regular funcionava como charme no N ++.

A entrada fictícia que usei:

soldier NAME1, 24, 0, 1
soldier NAME2, 25, 1, 2
soldier NAME3, 26, 2, 3
soldier NAME4, 27, 3, 4
soldier NAME5, 28, 4, 5
soldier NAME6, 29, 5, 6
soldier NAME7, 30, 6, 7
machine NAME8, 24, 7, 8
Xsoldier NAME9, 24, 8, 9
soldier NAME10, 24, 9, 10

Produção esperada:
Apenas a primeira e a última linha devem ser modificadas. O número '24' deve ser substituído por um novo valor.

A expressão regex:

^soldier\s+(?:[^\,]+\,\s+)\K24(?=\,\s+\d+\,\s+\d+)

Agora você pode usar Ctrl + H padrão, 'Localizar o que' deve ser preenchido com a expressão e 'Substituir por' pelo novo valor. Certifique-se de que 'Wrap around' esteja marcado e também 'Search Mode' esteja definido como 'Regular expression'.

Clicar em 'Substituir tudo' substituirá todos os números '24' por um novo valor especificado.

    
por 13.12.2016 / 15:48
0

Sim, você precisa usar uma expressão regular

Veja também o tutorial

    
por 08.12.2016 / 06:25