Rumah  >  Artikel  >  Java  >  Bagaimana untuk Mengeluarkan Ruang Berbilang, Mendahului dan Mengekor dengan Cekap daripada Rentetan Java?

Bagaimana untuk Mengeluarkan Ruang Berbilang, Mendahului dan Mengekor dengan Cekap daripada Rentetan Java?

Patricia Arquette
Patricia Arquetteasal
2024-11-25 17:57:12657semak imbas

How to Efficiently Remove Multiple, Leading, and Trailing Spaces from Java Strings?

Menghapuskan Berbilang Ruang dan Ruang Putih Mendahului/Mengekor dalam Rentetan Java

Di Java, anda mungkin menghadapi rentetan yang mengandungi berbilang ruang berturut-turut dan ruang kosong yang tidak diperlukan di permulaan atau akhir. Untuk menyelesaikan masalah ini, anda mencari pendekatan yang cekap untuk menggantikan semua ruang berbilang dengan ruang tunggal sambil menghapuskan ruang hadapan dan belakang secara serentak.

Penyelesaian dengan trim() dan replaceAll()

Penyelesaian yang disyorkan menggabungkan kaedah trim() dengan replaceAll() kaedah:

String after = before.trim().replaceAll(" +", " ");

trim() mengalih keluar semua ruang putih di hadapan dan di belakang daripada rentetan yang diberikan. Kemudian, replaceAll() menggantikan semua kejadian dua atau lebih ruang berturut-turut dengan satu ruang.

Tiada penyelesaian regex trim()

Walaupun kurang boleh dibaca, ia mungkin untuk mencapai hasil yang sama dengan satu replaceAll():

String pattern = "^ +| +$|( )+";
String after = before.replaceAll(pattern, "");

regeks kompleks ini mempunyai tiga silih berganti:

  • ^ : Memadankan sebarang jujukan ruang pada permulaan rentetan
  • $: Memadankan mana-mana jujukan ruang di hujung rentetan
  • ( _) : Memadankan sebarang jujukan ruang di tengah rentetan

Dalam semua kes, ia menggantikan jujukan yang dipadankan dengan $1, menangkap satu ruang sebagai ganti berbilang ruang atau menghapuskannya sama sekali jika pada permulaan atau akhir.

Sumber Tambahan

  • String.trim(): https://docs.oracle.com/javase/7/docs/api/java/lang/String.html#trim()
  • Ungkapan Biasa untuk Pengulangan: https://regular-expressions.info/ Pengulangan
  • Ungkapan Biasa untuk Penambat: https://regular-expressions.info/Anchors

Atas ialah kandungan terperinci Bagaimana untuk Mengeluarkan Ruang Berbilang, Mendahului dan Mengekor dengan Cekap daripada Rentetan Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn