Paano Gamitin ang Regex Whitespace sa Java

Paano Gamitin Ang Regex Whitespace Sa Java



Ang Regex o Regular Expression ay isang hanay ng mga espesyal na character na pinagsama upang bumuo ng isang pattern upang maghanap ng mga character sa mga string. Sa computer programming at software engineering, ang pag-aaral ng regex ay magiging kapaki-pakinabang sa paghahanap ng impormasyon sa anumang teksto. Ang lahat ng uri ng paghahanap ng teksto, pag-format, at pagpapalit ng teksto ay maaaring isagawa gamit ang mga regular na expression.

Gagabayan ka ng tutorial na ito tungkol sa paggamit ng regex whitespace sa Java.







Ano ang Regex sa Java?

Ang isang Regular Expression o Regex ay maaaring kasing simple ng isang character o isang kumplikadong pattern. Maaari itong malikha gamit ang isang string ng teksto at mga simbolo sa isang tiyak na pagkakasunud-sunod. Karamihan sa mga character sa isang regex ay mga titik at typographic na simbolo. Ang Regex ay case-sensitive, kaya tandaan iyon habang ginagawa at ginagamit ito.



Paano Gamitin ang Regex Whitespace sa Java?

Bagama't ang Java ay walang anumang paunang natukoy na klase ng Regular Expression. Gayunpaman, maaari tayong gumamit ng mga regular na expression sa pamamagitan ng pag-import ng ' java.util.regex ” aklatan. Kabilang dito ang ilang mga klase tulad ng “ Pattern ”, na ginagamit para sa pagtukoy ng pattern ng regex, at “ Mga tugma ” class na ginagamit sa paghahanap gamit ang pattern.



Mayroong dalawang paraan upang magamit ang regex whitespace sa Java tulad ng sumusunod:





    • Paggamit ng Pattern.matches() na pamamaraan (gumamit ng paunang natukoy na regex)
    • Gamit ang klase ng Pattern at Matcher (lumikha ng regex na tinukoy ng gumagamit upang tumugma)

Tingnan natin kung paano gagana ang mga pamamaraang ito sa regex para sa whitespace sa Java.

Paraan 1: Gumamit ng Predefined Regex Whitespace na may Pattern.matches() Method sa Java

Upang makahanap ng mga whitespace sa isang string, mayroong tatlong karaniwang regex sa Java:



    • \s : Ito ay kumakatawan sa isang solong puting espasyo.
    • \s+ : Nagsasaad ito ng maraming puting espasyo.
    • \u0020 : Ito ang Unicode ng white space na ginamit bilang regex para maghanap ng whitespace sa isang text.

Maaari naming gamitin ang mga regex na ito sa static na pamamaraan ' mga tugma() 'ng' Pattern ” klase. Ang klase ng pattern ay kabilang sa ' java.util.regex ” pakete. Nasa ibaba ang syntax ng Pattern.matches() method na ibinigay:

Syntax

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


Ang tinukoy na paraan ay tumatagal ng dalawang argumento: ang regular na expression at ang string upang tumugma. Ang unang argument na '\s' ay ang regular na expression o regex ng white space, at ang pangalawang argumento '' ay ang puwang sa string. Ibinabalik nito ang alinman sa true o false bilang isang boolean na halaga.

Halimbawa 1: Gamitin ang '\s' WhiteSpace Regex

Dito, gagamitin natin ang ' \s ” regex sa Pattern.matches() na pamamaraan. Magpapasa kami ng isang string na walang puwang sa pamamaraan bilang pangalawang argumento. Susuriin ng pamamaraan ang regex at ang string at pagkatapos ay magbabalik ng boolean na halaga na maiimbak sa ' tugma ” variable:

boolean tugma = Pattern.matches ( '\s' , '' ) ;


I-print ang halaga ng variable ng pagtutugma gamit ang “ System.out.println() 'paraan:

System.out.println ( 'May espasyo:' + tugma ) ;



Ang halaga na ibinalik ng ' Pattern.matches() Ang 'paraan ay' mali ” dahil walang puwang ang naipasa na string:


Ngayon ay makikita natin ang ilang iba pang mga halimbawa upang itugma ang whitespace sa iba pang mga regexe.

Halimbawa 2: Gamitin ang '\s+' WhiteSpace Regex

Sa halimbawang ito, ipapasa natin ang ' \s+ 'regex sa' mga tugma() ” paraan upang makahanap ng maraming espasyo:

boolean tugma = Pattern.matches ( '\s+' , '' ) ;


I-print ang halaga ng variable ng pagtutugma na nag-iimbak ng ibinalik na resulta mula sa pamamaraan:

System.out.println ( 'May espasyo:' + tugma ) ;



Dahil ang pangalawang argumento ay naglalaman ng mga puwang, ang resultang halaga ay ipinapakita bilang ' totoo ”:

Halimbawa 3: Gamitin ang '\u0020' WhiteSpace Regex

Dito, ipapakita namin sa iyo kung paano ginagamit ang Unicode bilang isang regex sa Java. Para sa tinukoy na layunin, gagamitin namin ang ' \u0020 ” regex bilang Unicode ng white space:

boolean tugma = Pattern.matches ( '\u0020' , '' ) ;


I-print ang ibinalik na halaga:

System.out.println ( 'May espasyo:' + tugma ) ;



Ang Pattern.matches() method ay magpi-print ng “ totoo ” bilang isang naipasa na string na naglalaman ng mga puting espasyo:


Lumipat tayo sa ibang paraan para magamit ang regex sa Java.

Paraan 2: Gumamit ng Regex Whitespace na tinukoy ng User na may klase ng Pattern at Matcher

Ang ' Pattern Ang klase ng ” ay ginagamit upang tukuyin o lumikha ng isang pattern, habang ang “ Mga tugma Ang klase ay ginagamit upang maghanap ayon sa ibinigay na pattern. Ang pattern para sa isang regex ay maaaring malikha sa tulong ng ' compile() ” paraan ng klase ng Pattern. Isang parameter lang ang kailangan, ang pattern na gusto mong i-compile para sa anumang layunin.

Syntax

Pattern.compile ( ' \t \p{Zs}' ) ;


Ang Mga tugma tumutugma ang klase sa pattern sa pamamagitan ng paggamit ng “ mga tugma() ” paraan. Kailangan ng isang ' string ” bilang pattern.

Syntax

patternVariable.matcher ( string ) ;


Mayroong ilang mga paunang-natukoy na regex para sa mga whitespace na tinalakay natin sa itaas, ang natitira ay nakalista sa ibaba:

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

Ngayon, tingnan natin ang ilang halimbawa.

Halimbawa 1: Gamitin ang '\\t\\p{Zs}' WhiteSpace Regex

Sa halimbawang ito, malalaman natin ang bilang ng mga whitespace sa pamamagitan ng pagbibilang sa mga ito. Una, gagawa kami ng String ' s ” at i-print ito sa console:

String s = 'WelcometoLinuxHint' ;
System.out.println ( s ) ;


Susunod, tutukuyin namin ang isang pattern ' \\t\\p{Zs} ” na gumaganap bilang isang whitespace regex sa Java at katumbas ng “ \s ”. Matapos i-compile ang ibinigay na pattern, variable ' regexPattern ” ay maglalaman ng resultang halaga:

Pattern regexPattern = Pattern.compile ( '\ \t \\p{Zs}' ) ;


Tawagan ang ' mga tugma() 'paraan at ipasa' s ” String:

Matcher stringSpaces = regexPattern.matcher ( s ) ;


Lumikha ng variable na uri ng integer ' bilangin 'at simulan ito ng halaga' 0 ”:

int count = 0 ;


Bilangin ang bilang ng mga whitespace na umiiral sa string sa pamamagitan ng paggamit ng “ habang ” loop. Tatawid ang loop sa String at dagdagan ang halaga ng variable na bilang kung makakatagpo ito ng anumang espasyo:

habang ( stringSpaces.hanapin ( ) ) {
bilang++;
}


Panghuli, i-print ang halaga ng bilang upang ipakita kung gaano karaming mga puwang ang matatagpuan sa isang string:

System.out.println ( 'Ang string ay naglalaman ng' +bilang+ 'mga puwang' ) ;


Output



Halimbawa 2: Gamitin ang '\p{Zs}' WhiteSpace Regex

Ngayon, mahahanap natin ang mga whitespace sa string sa pamamagitan ng paggamit ng isa pang pattern ' \p{Zs} ”. Gumagana ang pattern na ito katulad ng ' \s 'at' \s+ ” regex:

Pattern regexPattern = Pattern.compile ( '\\p{Zs}' ) ;


Ngayon, tinatawag natin ang ' mga tugma() 'paraan at ipasa' s ” String bilang argumento:

Matcher stringSpaces = regexPattern.matcher ( s ) ;


Tulad ng sa halimbawa sa itaas, gumagamit din kami ng ' habang ” loop upang mabilang ang mga puwang sa isang string at i-print ang mga ito:



Ang ibinigay na output ay nagpapahiwatig na ang aming String ' Maligayang pagdating sa Linux Hint ” ay naglalaman ng tatlong whitespace:



Binubuo namin ang lahat ng pinakamadaling pamamaraan na makakatulong sa iyo na gumamit ng regex whitespace sa Java.

Konklusyon

Mayroong maraming mga regular na expression para sa whitespace tulad ng ' \s ”, “ \s+ ”, “ \u0020 ”, “ \\t\\p{Zs} ”, at “ \\p{Zs} ”. Ang mga regex na ito ay ginagamit sa matches() method ng Pattern class o sa pamamagitan ng pagtukoy ng pattern sa Pattern Class at pagtutugma nito gamit ang Matcher class. Ang pinakakaraniwang ginagamit na regex whitespace ay \s at \s+. Sa tutorial na ito, sinakop namin ang lahat ng mga pamamaraan para magamit ang regex whitespace sa Java.