Dart:
Sökning och ersättning av text
Hur gör man:
Dart tillhandahåller robusta metoder för att söka och ersätta text direkt genom sin String
-klass, utan behov av externa bibliotek. Så här kan du göra det:
Grundläggande Sökning och Ersättning
För att söka efter en delsträng och ersätta den med en annan sträng kan du använda replaceAll
:
String sampleText = "Hej, Dart! Dart är toppen.";
String modifiedText = sampleText.replaceAll("Dart", "Flutter");
print(modifiedText); // Utskrift: Hej, Flutter! Flutter är toppen.
Använda Reguljära Uttryck
För mer komplexa sök- och ersättningsbehov utnyttjar Dart reguljära uttryck via RegExp
-klassen. Detta möjliggör mönstersökning och ersättning i strängar:
String sampleText = "Dart 2023, Flutter 2023";
String modifiedText = sampleText.replaceAll(RegExp(r'\d+'), "2024");
print(modifiedText); // Utskrift: Dart 2024, Flutter 2024
Det här exemplet hittar alla instanser av en eller flera siffror (\d+
) i strängen och ersätter dem med “2024”.
Skiftlägesokänslig Sökning
För att utföra en skiftlägesokänslig sökning kan du modifiera RegExp
-konstruktören för att ignorera skiftläget:
String sampleText = "Välkommen till Dart, programmeringsspråket.";
String modifiedText = sampleText.replaceAll(RegExp(r'dart', caseSensitive: false), "Flutter");
print(modifiedText); // Utskrift: Välkommen till Flutter, programmeringsspråket.
Ersättning med en Funktion
För dynamiska ersättningar baserade på själva matchningen tillåter Dart att passera en funktion till replaceAllMapped
. Denna funktion kan utföra operationer eller beräkningar på de matchade sekvenserna:
String sampleText = "Öka 5 med 1 för att få 6.";
String incrementedText = sampleText.replaceAllMapped(RegExp(r'\d+'), (Match m) => (int.parse(m[0]!) + 1).toString());
print(incrementedText); // Utskrift: Öka 6 med 1 för att få 7.
Detta ersätter varje siffersekvens med dess inkrementvärde. Varje match omvandlas till ett heltal, inkrementeras, och konverteras sedan tillbaka till en sträng för ersättning.
Darts förmågor att manipulera strängar, särskilt för att söka och ersätta text, gör det till ett kraftfullt verktyg för att behandla och förbereda data inom dina applikationer. Oavsett om du använder raka strängersättningar eller utnyttjar kraften i reguljära uttryck, erbjuder Dart den flexibilitet och prestanda som krävs för effektiv textmanipulering.