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.