Java:
Ta bort citattecken från en sträng
Hur man gör:
Låt oss rycka bort dessa irriterande citationstecken från vår text. Vi kommer att använda replace()
-metoden för de snabba åtgärderna och regex för de tuffa nötterna att knäcka.
public class QuoteRemover {
public static void main(String[] args) {
String stringWithQuotes = "\"Hej, 'Världen'!\"";
String withoutQuotes = stringWithQuotes.replace("\"", "").replace("'", "");
System.out.println(withoutQuotes); // Hej, Världen!
// Nu med regex för mönsterentusiasterna
String stringWithMixedQuotes = "\"Java\" och 'Programmering'";
String cleanString = stringWithMixedQuotes.replaceAll("[\"']", "");
System.out.println(cleanString); // Java och Programmering
}
}
Fördjupning
Förr i tiden var inte citattecken i strängar så mycket av ett bekymmer—systemen var enklare, och data var inte lika rörigt. Med introduktionen av komplexa dataformat (JSON, XML) och behovet av datautbyte blev hantering av citattecken nyckeln. När det gäller alternativ, visst, du skulle kunna skriva en tolk, loopa igenom varje tecken och bygga en ny sträng (kan vara kul en regnig dag). Det finns också tredjepartsbibliotek som kan hantera detta med mer sofistikation, som erbjuder alternativ att undvika tecken istället för att ta bort dem, eller att hantera olika typer av citationstecken enligt lokal. När det kommer till implementering, ha i åtanke att ta bort citattecken utan sammanhang kan ändra innebörden eller strukturen på data—tänk alltid på “varför” före “hur”.
Se också
- För en djupare dykning i regex, kolla in de officiella Java-dokumenten: https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/regex/Pattern.html
- Behöver du undvika citattecken istället för att ta bort dem? Stack Overflow har din rygg: https://stackoverflow.com/questions/383551/escape-string-for-sql-insert
- JSON-behandling i Java? Du kommer antagligen ofta stöta på citattecken. Här är en startpunkt: https://www.oracle.com/technical-resources/articles/java/json.html