วิธีใช้ Regex Whitespace ใน Java

Withi Chi Regex Whitespace Ni Java



Regex หรือ Regular Expression คือชุดของอักขระพิเศษที่รวมกันเพื่อสร้างรูปแบบเพื่อค้นหาอักขระในสตริง ในการเขียนโปรแกรมคอมพิวเตอร์และวิศวกรรมซอฟต์แวร์ การเรียนรู้ regex จะมีประโยชน์มากในการค้นหาข้อมูลในข้อความใดๆ การค้นหาข้อความ การจัดรูปแบบ และการแทนที่ข้อความทุกประเภทสามารถทำได้โดยใช้นิพจน์ทั่วไป

บทช่วยสอนนี้จะแนะนำคุณเกี่ยวกับการใช้ช่องว่าง regex ใน Java







Regex ใน Java คืออะไร?

Regular Expression หรือ Regex อาจเรียบง่ายเหมือนอักขระตัวเดียวหรือรูปแบบที่ซับซ้อน สามารถสร้างได้ด้วยสตริงข้อความและสัญลักษณ์ในลำดับเฉพาะ อักขระส่วนใหญ่ใน regex เป็นตัวอักษรและสัญลักษณ์การพิมพ์ Regex คำนึงถึงขนาดตัวพิมพ์ ดังนั้นโปรดระลึกไว้เสมอว่าในขณะสร้างและใช้งาน



วิธีใช้ Regex Whitespace ใน Java

แม้ว่า Java จะไม่มีคลาส Regular Expression ที่กำหนดไว้ล่วงหน้า อย่างไรก็ตาม เราสามารถใช้นิพจน์ทั่วไปได้โดยการนำเข้า ' java.util.regex ' ห้องสมุด. รวมถึงบางชั้นเรียนเช่น ' ลวดลาย ” ซึ่งใช้สำหรับกำหนดรูปแบบ regex และ “ แมตช์ ” ซึ่งใช้ในการค้นหาด้วยรูปแบบ



มีสองวิธีในการใช้ช่องว่าง regex ใน Java ดังนี้:





    • ใช้เมธอด Pattern.matches() (ใช้ regex ที่กำหนดไว้ล่วงหน้า)
    • การใช้คลาส Pattern และ Matcher (สร้าง regex ที่ผู้ใช้กำหนดเพื่อให้ตรงกัน)

มาดูกันว่าวิธีการเหล่านี้จะทำงานกับ regex สำหรับช่องว่างใน Java ได้อย่างไร

วิธีที่ 1: ใช้ Regex Whitespace ที่กำหนดไว้ล่วงหน้าด้วยเมธอด Pattern.matches() ใน Java

ในการค้นหาช่องว่างในสตริง มีสาม regexes ทั่วไปใน Java:



    • \s : มันแสดงถึงช่องว่างสีขาวเดียว
    • \s+ : ระบุช่องว่างสีขาวหลายช่อง
    • \u0020 : เป็น Unicode ของพื้นที่สีขาวที่ใช้เป็น regex เพื่อค้นหาช่องว่างในข้อความ

เราสามารถใช้ regexes เหล่านี้ในวิธีคงที่ ' แมตช์() ' ของ ' ลวดลาย ' ระดับ. คลาสรูปแบบเป็นของ “ java.util.regex ' บรรจุุภัณฑ์. ด้านล่างนี้เป็นไวยากรณ์ของเมธอด Pattern.matches() ที่ให้มา:

ไวยากรณ์

Pattern.matches ( '\s' , ' ' ) ;


เมธอดที่ระบุใช้อาร์กิวเมนต์สองอาร์กิวเมนต์: นิพจน์ทั่วไปและสตริงที่ตรงกัน อาร์กิวเมนต์แรก “\s” คือนิพจน์ทั่วไปหรือ regex ของช่องว่าง และอาร์กิวเมนต์ที่สอง ” “ คือช่องว่างในสตริง คืนค่า true หรือ false เป็นค่าบูลีน

ตัวอย่างที่ 1: ใช้ “\s” WhiteSpace Regex

ในที่นี้เราจะใช้ “ \s ” regex ในเมธอด Pattern.matches() เราจะส่งสตริงที่ไม่มีช่องว่างในเมธอดเป็นอาร์กิวเมนต์ที่สอง เมธอดจะตรวจสอบ regex และสตริง จากนั้นคืนค่าบูลีนที่จะเก็บไว้ใน ' การแข่งขัน ' ตัวแปร:

บูลีน การแข่งขัน = Pattern.matches ( '\s' , '' ) ;


พิมพ์ค่าของตัวแปรการจับคู่โดยใช้ “ System.out.println() ' กระบวนการ:

System.out.println ( 'อวกาศมีอยู่:' + จับคู่ ) ;



ค่าที่ส่งคืนโดย “ รูปแบบ.matches() ” วิธีการคือ “ เท็จ ” เพราะสตริงที่ส่งผ่านไม่มีที่ว่าง:


ตอนนี้เราจะดูตัวอย่างอื่น ๆ เพื่อจับคู่ช่องว่างกับ regexes อื่น ๆ

ตัวอย่างที่ 2: ใช้ “\s+” WhiteSpace Regex

ในตัวอย่างนี้ เราจะผ่าน “ \s+ ” regex ใน “ แมตช์() ” วิธีหาช่องว่างหลายช่อง:

บูลีน การแข่งขัน = Pattern.matches ( '\s+' , ' ' ) ;


พิมพ์ค่าของตัวแปรการจับคู่ที่เก็บผลลัพธ์ที่ส่งคืนจากเมธอด:

System.out.println ( 'อวกาศมีอยู่:' + จับคู่ ) ;



เนื่องจากอาร์กิวเมนต์ที่สองมีช่องว่าง ค่าผลลัพธ์จะแสดงเป็น “ จริง ”:

ตัวอย่างที่ 3: ใช้ “\u0020” WhiteSpace Regex

ที่นี่เราจะแสดงให้คุณเห็นว่า Unicode ถูกใช้เป็น regex ใน Java อย่างไร เพื่อวัตถุประสงค์ที่กำหนด เราจะใช้ “ \u0020 ” regex เป็น Unicode ของพื้นที่สีขาว:

บูลีน การแข่งขัน = Pattern.matches ( '\u0020' , ' ' ) ;


พิมพ์ค่าที่ส่งคืน:

System.out.println ( 'อวกาศมีอยู่:' + จับคู่ ) ;



Pattern.matches() วิธีการจะพิมพ์ “ จริง ” เป็นสตริงที่ส่งผ่านที่มีช่องว่างสีขาว:


ไปที่วิธีอื่นเพื่อใช้ regex ใน Java

วิธีที่ 2: ใช้ Regex Whitespace ที่ผู้ใช้กำหนดด้วย Pattern และ Matcher class

ลวดลาย ” ใช้เพื่อกำหนดหรือสร้างรูปแบบ ในขณะที่ “ แมตช์ ” ใช้ในการค้นหาตามรูปแบบที่กำหนด สามารถสร้างรูปแบบสำหรับ regex ได้โดยใช้ปุ่ม ' รวบรวม() ” วิธีการของคลาส Pattern ใช้พารามิเตอร์เพียงตัวเดียว ซึ่งเป็นรูปแบบที่คุณต้องการคอมไพล์เพื่อวัตถุประสงค์ใดก็ได้

ไวยากรณ์

Pattern.คอมไพล์ ( ' \t \p{Zs}' ) ;


ดิ แมตช์ คลาสจับคู่รูปแบบโดยใช้ “ แมตช์() ' กระบวนการ. ต้องใช้ “ สตริง ” ตามแบบ

ไวยากรณ์

patternVariable.matcher ( สตริง ) ;


มี regex ที่กำหนดไว้ล่วงหน้าสำหรับช่องว่างที่เราได้กล่าวถึงข้างต้น ส่วนที่เหลือแสดงอยู่ด้านล่าง:

    • \\t\\p{Zs}
    • \\p{Zs}

ตอนนี้ มาดูตัวอย่างกัน

ตัวอย่างที่ 1: ใช้ “\\t\\p{Zs}” WhiteSpace Regex

ในตัวอย่างนี้ เราจะหาจำนวนช่องว่างโดยการนับ ขั้นแรกเราจะสร้างสตริง “ ” และพิมพ์ออกมาบนคอนโซล:

สตริง s = 'ยินดีต้อนรับสู่ลินุกซ์คำแนะนำ' ;
System.out.println ( ) ;


ต่อไปเราจะกำหนดรูปแบบ “ \\t\\p{Zs} ” ที่ทำหน้าที่เป็น regex ช่องว่างใน Java และเท่ากับ “ \s ” หลังจากรวบรวมรูปแบบที่กำหนดแล้ว ตัวแปร “ regexPattern ” จะมีค่าผลลัพธ์:

รูปแบบ regexPattern = Pattern.compile ( '\ \t \\p{Zs}' ) ;


โทรหา “ แมตช์() ” วิธีการและผ่าน “ สตริง:

Matcher stringSpaces = regexPattern.matcher ( ) ;


สร้างตัวแปรประเภทจำนวนเต็ม “ นับ ” และเริ่มต้นด้วยค่า “ 0 ”:

จำนวน int = 0 ;


นับจำนวนช่องว่างที่มีอยู่ในสตริงโดยใช้ ' ในขณะที่ ห่วง. ลูปจะข้ามผ่านสตริงและเพิ่มค่าตัวแปรนับหากพบช่องว่าง:

ในขณะที่ ( stringSpaces.find ( ) ) {
นับ++;
}


สุดท้าย พิมพ์ค่าการนับเพื่อแสดงจำนวนช่องว่างที่พบในสตริง:

System.out.println ( 'สตริงประกอบด้วย' +นับ+ 'ช่องว่าง' ) ;


เอาท์พุต



ตัวอย่างที่ 2: ใช้ “\p{Zs}” WhiteSpace Regex

ตอนนี้เราจะหาช่องว่างในสตริงโดยใช้รูปแบบอื่น ' \p{Zs} ” รูปแบบนี้ทำงานคล้ายกับ “ \s ' และ ' \s+ ” regex:

รูปแบบ regexPattern = Pattern.compile ( '\\p{Zs}' ) ;


ตอนนี้เราเรียกว่า “ แมตช์() ” วิธีการและผ่าน “ สตริงเป็นอาร์กิวเมนต์:

Matcher stringSpaces = regexPattern.matcher ( ) ;


ในตัวอย่างข้างต้น เรายังใช้ “ ในขณะที่ วนซ้ำเพื่อนับช่องว่างในสตริงและพิมพ์:



ผลลัพธ์ที่กำหนดระบุว่าสตริงของเรา ' ยินดีต้อนรับสู่คำแนะนำ Linux ” มีช่องว่างสามช่อง:



เรารวบรวมวิธีการที่ง่ายที่สุดทั้งหมดที่สามารถช่วยให้คุณใช้ช่องว่าง regex ใน Java

บทสรุป

มีนิพจน์ทั่วไปมากมายสำหรับช่องว่างเช่น “ \s ”, “ \s+ ”, “ \u0020 ”, “ \\t\\p{Zs} ', และ ' \\p{Zs} ” regexes เหล่านี้ใช้ในเมธอดmatch() ของคลาส Pattern หรือโดยการกำหนดรูปแบบด้วย Pattern Class และจับคู่โดยใช้คลาส Matcher ช่องว่าง regex ที่ใช้บ่อยที่สุดคือ \s และ \s+ ในบทช่วยสอนนี้ เราได้กล่าวถึงวิธีการทั้งหมดในการใช้ช่องว่าง regex ใน Java