Java String trim()-metodia käytetään merkkijonon etu- ja jälkimmäisten välilyöntien poistamiseen. Metodi käsittelee valkotilamerkkinä mitä tahansa merkkiä, jonka Unicode-koodipiste on pienempi tai yhtä suuri kuin ’U+0020’.
- Jos merkkijono sisältää pelkkiä valkotiloja, palautetaan tyhjä merkkijono.
- Jos merkkijonossa ei ole etu- ja jälkimmäisiä valkotiloja, palautetaan viittaus samaan merkkijonoon.
- Java-merkkijono (String) on muuttumaton (immutable), joten merkkijono-objektin alkuperäisarvo säilyy ennallaan.
Java String trim()-metodin esimerkki
Katsotaan yksinkertainen esimerkki String trim()-metodista.
package com.journaldev.examples;public class StringTrim {public static void main(String args) {String str = " abc def \t\t ";System.out.println("***"+str+"***");String str1 = str.trim();System.out.println("***"+str1+"***");}}
Tulostus:
*** abc def ******abc def***
Liitän merkkijonoa tulostaessani siihen muutaman muun kuin välilyönnin sisältävän välilyönnin merkin niin, että erotus näkyy selvästi tulosteessa.
Katsotaanpa toinen esimerkki, jossa käytetään JShell-tulkkia.
jshell> String str = " abc def \t\t ";str ==> " abc def \t\t "jshell> str.trim(); ==> "abc def"
String trim() vs strip() metodi
Java 11 lisäsi monia uusia metodeja string-luokkaan. Yksi niistä on strip()-metodi, joka tekee saman työn kuin trim()-metodi.
Mutta strip()-metodi käyttää Character.isWhitespace()-metodia tarkistamaan, onko merkki välilyönti. Tämä menetelmä käyttää Unicode-koodipisteitä, kun taas trim()-menetelmä tunnistaa kaikki merkit, joiden koodipisteen arvo on pienempi tai yhtä suuri kuin ’U+0020’, välilyönti-merkeiksi.
Srippaa()-menetelmä on suositeltava tapa poistaa välilyönnit, koska se käyttää Unicode-standardia.