Duvida com manipulação de string

4 respostas
Algebra

s = s.replaceAll(“v[0-72]”, “v”);

esse código esse só repassa até os v’s 7

como faço para substituir os v’s com 2 digitos

4 Respostas

E

O que você quer fazer? Trocar de "v0’ até “v72” (mas não “v73” ou “v99”) por “v”?

Algebra

pode ser
quero trocar uma faixa de v’s que eu estipular vx…vy

E

Expressões regulares não contam parênteses e não gostam de fazer contas. Elas são péssimas para intervalos de números, como é o que você gostaria.

Por exemplo, se você quisesse v + 1 ou 2 dígitos (ou seja, de 0 a 99), a expressão regular seria:

s = s.replaceAll("v[0-9][0-9]?", "v");

Se você quiser de 0 até 72, a expressão regular é tão complicada que acho melhor você pensar um pouco. Ela é:

s = s.replaceAll("v([0-6][0-9]|7[0-2]|[0-689])", "v");

Eu recomendaria bater com tudo que tem 1 ou 2 dígitos, e depois ver se o valor é <= 72 (no seu caso). É mais simples que tentar bolar uma expressão regular tão complicada e sujeita a erros.

Algebra

já ajudou fera. brigado

Criado 14 de setembro de 2009
Ultima resposta 14 de set. de 2009
Respostas 4
Participantes 2