Tekstin etsiminen ja korvaaminen

Dart:
Tekstin etsiminen ja korvaaminen

Kuinka:

Dart tarjoaa vankkoja menetelmiä tekstien etsimiseen ja korvaamiseen suoraan sen String-luokan kautta, ilman ulkoisten kirjastojen tarvetta. Näin voit tehdä sen:

Perusetsintä ja -korvaus

Voit etsiä alimerkkijonoa ja korvata sen toisella merkkijonolla käyttämällä replaceAll-metodia:

String sampleText = "Hello, Dart! Dart on mahtava.";
String modifiedText = sampleText.replaceAll("Dart", "Flutter");
print(modifiedText); // Tuloste: Hello, Flutter! Flutter on mahtava.

Säännöllisten lausekkeiden käyttö

Monimutkaisempien etsintä- ja korvaustarpeiden osalta Dart käyttää säännöllisiä lausekkeita RegExp-luokan kautta. Tämä mahdollistaa mallien vastaavuuden etsimisen ja korvaamisen merkkijonoissa:

String sampleText = "Dart 2023, Flutter 2023";
String modifiedText = sampleText.replaceAll(RegExp(r'\d+'), "2024");
print(modifiedText); // Tuloste: Dart 2024, Flutter 2024

Tässä esimerkissä etsitään kaikki merkkijonon yksi tai useampi numero (\d+) ja korvataan ne “2024”:llä.

Kirjainkoosta riippumaton etsintä

Suorittaaksesi kirjainkoosta riippumattoman etsinnän, voit muuttaa RegExp-konstruktorin ohittamaan kirjainkoon:

String sampleText = "Tervetuloa Dart, ohjelmointikieli.";
String modifiedText = sampleText.replaceAll(RegExp(r'dart', caseSensitive: false), "Flutter");
print(modifiedText); // Tuloste: Tervetuloa Flutter, ohjelmointikieli.

Korvaaminen funktion avulla

Dynamisille korvauksille, jotka perustuvat itse osumaan, Dart mahdollistaa funktion välittämisen replaceAllMapped-metodille. Tämä funktio voi suorittaa operaatioita tai laskelmia vastaavien sekvenssien kanssa:

String sampleText = "Lisää 5:ttä yhdellä saadaksesi 6.";
String incrementedText = sampleText.replaceAllMapped(RegExp(r'\d+'), (Match m) => (int.parse(m[0]!) + 1).toString());
print(incrementedText); // Tuloste: Lisää 6:ta yhdellä saadaksesi 7.

Tämä korvaa jokaisen numerosekvenssin sen inkrementtiarvolla. Jokainen osuma jäsentyy kokonaisluvuksi, inkrementoituu ja muunnetaan sitten takaisin merkkijonoksi korvaamista varten.

Dartin merkkijonojen käsittelykyvyt, erityisesti tekstien etsiminen ja korvaaminen, tekevät siitä tehokkaan työkalun datan käsittelyyn ja valmisteluun sovelluksissasi. Olitpa käyttämässä suoraviivaisia merkkijonokorvauksia tai hyödyntämässä säännöllisten lausekkeiden voimaa, Dart tarjoaa joustavuuden ja suorituskyvyn, jotka ovat tarpeen tehokkaaseen tekstikäsittelyyn.