String.strip în Java

Elimină spațiile de la începutul și sfârșitul șirului; stripLeading/stripTrailing doar dintr-o parte.

Sintaxă
String strip()
String stripLeading()
String stripTrailing()
String trim()   // Java 1.0

Ce face String.strip

strip() (Java 11) returnează șirul fără spațiile albe de la început și de la sfârșit; spațiile din interior rămân. stripLeading() le elimină doar de la început, stripTrailing() doar de la sfârșit.

trim() există din Java 1.0 și face aproape același lucru, dar elimină doar caracterele cu cod ≤ 32 (spațiu, tab, rând nou etc.). strip() recunoaște toate spațiile Unicode, de exemplu spațiul fără întrerupere copiat dintr-o pagină web sau spațiul em (\u2003). În cod nou, preferă strip().

Pentru spațiile din interior (mai multe spații la rând), folosește replaceAll("\\s+", " ").

Ce returnează

Un șir nou fără spațiile de la capete (sau același șir, dacă nu avea).

Exemple

Exemplul 1: Curățarea datelor introduse

Parantezele drepte arată unde încep și unde se termină șirurile.

public class Main {
    public static void main(String[] args) {
        String nume = "   Ana Popescu \t\n";
        System.out.println("[" + nume.strip() + "]");
        System.out.println("[" + nume.stripLeading() + "]");
        System.out.println("[" + nume.stripTrailing() + "]");
        System.out.println("[" + nume.trim() + "]");
    }
}

Rezultat

[Ana Popescu]
[Ana Popescu 	
]
[   Ana Popescu]
[Ana Popescu]

Exemplul 2: trim() nu vede toate spațiile Unicode

public class Main {
    public static void main(String[] args) {
        String text = "\u2003Iași\u2003";
        System.out.println("trim:  [" + text.trim() + "] lungime " + text.trim().length());
        System.out.println("strip: [" + text.strip() + "] lungime " + text.strip().length());
    }
}

Rezultat

trim:  [ Iași ] lungime 6
strip: [Iași] lungime 4

Exemplul 3: Spații multiple în interior

public class Main {
    public static void main(String[] args) {
        String adresa = "  Str.   Unirii    nr. 10   ";
        String curat = adresa.strip().replaceAll("\\s+", " ");
        System.out.println("[" + curat + "]");
    }
}

Rezultat

[Str. Unirii nr. 10]

Greșeli frecvente

  • Crezi că strip() elimină și spațiile din mijloc. Elimină doar de la capete.
  • Folosești trim() pe text copiat din browser sau Word și spațiile „nu dispar”. Sunt spații Unicode; folosește strip().
  • Nu salvezi rezultatul: nume.strip(); fără atribuire nu schimbă nimic.

Comenzi înrudite

  • String.length: length() dă numărul de caractere; isEmpty() verifică dacă șirul e gol, isBlank() dacă are doar spații.
  • String.replaceAll: Înlocuiește toate (replaceAll) sau doar prima (replaceFirst) potrivire a unei expresii regulate.
  • String.indent: indent(n) adaugă sau scoate n spații la începutul fiecărui rând; stripIndent() elimină indentarea comună.
  • Character.isWhitespace: Verifică dacă un caracter este spațiu alb: spațiu, tab, rând nou sau alt separator Unicode.