用冒号分隔单个输入行

时间:2015-04-05 02:55:32

标签: java regex string newline

所以,这是我的问题:

我必须要求用户输入他的地址,每个部分用冒号分隔。输入将是一行,例如:

19 Wave Street: Austin: Texas: 16543

然后我必须接受该输入并使用“\ n”将其显示为输出。输出应显示为四个单独的行:

19 Wave Street 
Austin
Texas
16543

我见过人们分裂字符串,但只有当他们已经有一个字符串,而不是一个基于用户输入的字符串。此外,我必须使用冒号作为标记来知道何时打印新行。我写了这个:

包裹地址; import java.util.Scanner;

公共类地址 {

public static void main(String [] args)     {

    Scanner input =  new Scanner(System.in);

    System.out.println ("Enter your street adress, city, state, and zip" +
            "code all followed by colons."); 

    String one = input.nextLine(); 

String[] result = one.split("\\s");
    for (String result1 : result) {
        System.out.println(result1);

    }

} }

但它最终只在每个空格后打印,而不是在冒号后打印。

我对java非常陌生,我真的不知道从哪里开始。

1 个答案:

答案 0 :(得分:1)

根据以下正则表达式拆分输入。

String[] result = one.split(",\\s*");

这将根据逗号和以下零个或多个空格分割字符串。

我认为你错误地将逗号称为冒号。如果您的意思是冒号,请尝试one.split(":\\s*");