Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

จับคู่อักขระที่ไม่สามารถพิมพ์ได้โดยใช้ Java regex


มีอักขระทั่วไปที่ไม่สามารถพิมพ์ได้ 7 ตัวที่ใช้โดยทั่วไป และอักขระแต่ละตัวมีการแสดงเลขฐานสิบหกของตัวเอง

ชื่อ ตัวละคร การแสดงเลขฐานสิบหก
กระดิ่ง \a 0x07
หลบหนี \e 0x1B
ฟีดแบบฟอร์ม \f 0x0C
ไลน์ฟีด \n 0x0A
คืนรถ \r 0X0D
แท็บแนวนอน \t 0X09
แท็บแนวตั้ง \v 0X0B

ตัวอย่างที่ 1

โปรแกรม Java ต่อไปนี้ยอมรับข้อความอินพุตและนับจำนวนช่องว่างแท็บในนั้น -

<ก่อน> นำเข้า java.util.Scanner; นำเข้า java.util.regex.Matcher; นำเข้า java.util.regex.Pattern; คลาสสาธารณะ RegexExample1 { โมฆะสาธารณะหลัก (สตริง [] args) { Scanner sc =สแกนเนอร์ใหม่ (ระบบ .ใน); System.out.println("ป้อนข้อความ:"); อินพุตสตริง =sc.nextLine(); สตริง regex ="\\t"; //การสร้างวัตถุรูปแบบ Pattern pattern =Pattern.compile(regex); //จับคู่รูปแบบที่คอมไพล์แล้วใน String Matcher matcher =pattern.matcher(input); จำนวนเต็ม =0; ในขณะที่ (matcher.find()) { นับ ++; } System.out.println("จำนวนช่องว่างแท็บในข้อความ iput ที่กำหนด:"+count); }}

ผลลัพธ์

ข้อความตัวอย่างที่มีช่องว่างแท็บจำนวนช่องว่างแท็บในข้อความที่ป้อน:3

ตัวอย่างที่ 2

คุณยังสามารถใช้การแสดงแทนฐานสิบหกตามลำดับของอักขระที่ไม่สามารถพิมพ์ได้เพื่อให้จับคู่ได้

<ก่อน> นำเข้า java.util.Scanner; นำเข้า java.util.regex.Matcher; นำเข้า java.util.regex.Pattern; คลาสสาธารณะ RegexExample1 { โมฆะสาธารณะหลัก (สตริง [] args) { Scanner sc =สแกนเนอร์ใหม่ (ระบบ .ใน); System.out.println("ป้อนข้อความ:"); อินพุตสตริง =sc.nextLine(); สตริง regex ="\\x09"; //การสร้างวัตถุรูปแบบ Pattern pattern =Pattern.compile(regex); //จับคู่รูปแบบที่คอมไพล์แล้วใน String Matcher matcher =pattern.matcher(input); จำนวนเต็ม =0; ในขณะที่ (matcher.find()) { นับ ++; } System.out.println("จำนวนช่องว่างแท็บในข้อความ iput ที่กำหนด:"+count); }}

ผลลัพธ์

ป้อนข้อความอินพุต:ข้อมูลตัวอย่างด้วยช่องว่างแท็บจำนวนช่องว่างแท็บในข้อความอินพุตที่กำหนด:4