我需要格式化字符串,由冒號分隔和分號(具體如何只替換Java中的某些字符?
Apartment or Building Number;Street Address:City:State Postal Code (i.e. NY):Zip Code
,並把它改爲
Apartment or Building Number
Street Address
City, State Zip Code
到目前爲止,我有
public class MultiLine {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("Please enter an address formatted as such: 'Apartment or Building Number"
+ ";Street Address:City:State Postal Code (i.e. NY):Zip Code' \nFor example, Building Room 012;123 Fake Lane:Somewhere:NC:28500 \nPlease enter your address now: ");
String text = input.nextLine();
String text1 = text.replace(';', '\n');
String text2 = text1.replace(':', '\n');
System.out.print(text2);
}
}
這但是,它並不能真正起作用,因爲它會用一條新線代替所有的冒號,當我只想要1被替換時,我不完全確定如何使用replaceFirst
,因爲每次我使用它,它說我不能將字符轉換爲字符串,但這顯然不是replace
的問題。我不能分割字符串,主要是因爲我沒有覆蓋。 (我也沒有覆蓋的replace
命令,但它似乎最有意義。)我也有不知道如何使用regex
字符串'State Postal Code(ie NY)'?我以前已經問過你這個問題。 –
'replaceFirst'需要一個正則表達式,而不是一個字符。但是,由於':'和';'在正則表達式中不是特殊字符,因此可以簡單地使用一個字符的字符串,例如'text.replaceFirst(「;」,「\ n」);',它會起作用。對於特殊的字符,您必須包含反斜槓(並且您必須反斜槓反斜槓),例如'text.replaceFirst(「\\。」,「\ n」);'如果你想替換句點字符。 – ajb
它仍然在那裏,Avinash拉傑。我只是將它縮短爲「國家」 –