|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jan 2012
Messaggi: 1267
|
[C++] Come usare le regex per rimpiazzare dei numeri in una stringa
Ciao,
ho appena cominciato a studiacchiare le regex, e dato che in C++11 sono parte della standard library, ho pensato di utilizzarle per questo compito: dato il seguente testo Codice:
rooms[1]->roomL = rooms[2]; Codice:
rooms[0]->roomL = rooms[1]; Codice:
regex pattern{ "(\\d+)+" };
Codice:
smatch matches; regex_search(myString, matches, pattern); Ho visto che c'è regex_replace, in due versioni: - standard library -> il formatter è sempre string o const char* - boost -> il formatter è un funtore! Proprio quello che mi serve!! Infatti ho risolto così: Codice:
line = regex_replace(line, pattern, [](const smatch& m){ return to_string( stoi(m.str()) - 1 ); });
E poi, ci sarebbero modi migliori per fare questa cosa? |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 12:05.



















