Java-program läser ofta text från externa filer , importera innehållet för behandling inom en applikation . Ibland ett Java -program kommer också att använda importerad text för att presentera information till användarna inom ett program interface . Text från en extern fil kan innehålla nya raden tecken , som anger de radbrytningar inom innehållet . För att dela en sådan text i separata rader , kan programmerare använder strängen metoden klassen split . String Split Method
Java sträng klass innehåller metoder för att bearbeta och komma åt information om karaktärerna i ett textavsnitt . Uppdelningen Metoden tar en sträng värde och ett reguljärt uttryck för att matcha , dela strängen i två varje gång det reguljära uttrycket matchas . Om split metoden utför på en textsträng med nya linje tecken i det , med dessa tecken anges som en del av det reguljära uttrycket , kommer den att returnera en sträng array med varje textrad lagras i ett array-element . Matrisen längden kommer att vara samma som antalet rader i textsträngen .
Regular Expression
Strängen split metoden kan ta en mängd olika uttryck . Följande visar ett enkelt exempel där en enda blanksteg fungerar som det reguljära uttrycket för att dela upp strängen på :
String someTextInfo = " Här är lite text info " ,
String [] infoWords = someTextInfo.split ( " " ) ;
resulterande array i detta fall kommer att ha fem elementen i det , var och lagra ett enda ord . Uppdelningen Metoden är kapabel att ta mycket mer komplexa reguljära uttryck som anger olika arrangemang och kombinationer av tecken för att matcha . Addera ditt New Line Tecken
p Det finns ett fåtal olika typer av nya Java radmatningstecken program kan stöta på. Beroende på i vilket sammanhang en textfil skapades , kan det innehålla nya linjer representerade med följande två karaktärer :
\\ r
\\ n
Följande syntax visar med metoden strängen spotta på separata rader avgränsas av de två typerna av ny rad tecken som används i rena textfiler , den " nya linjen " och " transport tur och retur " tecken :
string someTextLines = " Första raden \\ Nsecond linje \\ rAnother line " ,
String [] lines = someText.split ( " [ \\ \\ r \\ \\ n] + " ) ;
Denna syntax matchar valfri kombination av de två typer av tecken , lagra en enda rad på varje array position.
return array
strängen split metoden i Java returnerar en sträng array för vidare bearbetning du kan behöva . Program kan komma åt arrayelementen direkt enligt följande :
System.out.println ( someText.split ( " [ \\ \\ r \\ \\ n ] + " ) [ 0 ] ) ;
kod matar ut den första raden i textsträngen. Alternativt kan du lagra matrisen som en variabel , loopa igenom det för behandling enligt följande :
String [ ] lines = someText.split ( " [ \\ \\ r \\ \\ n ] + " ) ;
for (int i = 0 ; i. < lines.length , i + + ) {
System.out.println ( " Rad " + i + " : " + rader [ i] ) ;
}
Denna kod matar varje rad föregås av linjenumret .