从Java中的n字符串用户输入中提取单词

时间:2019-06-20 06:24:55

标签: java

我试图从字符串中提取出after后面的单词,我必须从用户输入中提取n个字符串,我不知道该怎么做?我只是尝试输入一个字符串。有人可以告诉我如何从用户那里获取n个字符串吗?

     String str = "hi,34,55";
            Pattern pattern = Pattern.compile(",(.*?),", Pattern.DOTALL);
            Matcher matcher = pattern.matcher(str);
            while (matcher.find()) {
             System.out.print(matcher.group(1));
            }
              System.out.print(" "+str.substring(str.lastIndexOf(",") + 1));
//get the string like this and extract only the numbers after ","
int n=in.nextInt();
String [] s=new String[44];
        for(int i=0;i<n;i++)
        {
            s[i]=in.nextLine();
        }

如果n为3并且输入字符串为“ hi,1,2”,“ hiii,2,3”,“ ok,3,4”,则输出将为1 2 2 3 3 4(即数字在“,”之后

这可以正常工作,它会打印“ 34 55”。现在,我们必须从用户那里获取n值并获取n个字符串,并在输入字符串中提取“,”之后的单词。

2 个答案:

答案 0 :(得分:1)

如果要获取一组字符串作为输入(使用逗号)并分割每个输入,请尝试以下操作:

String[] strArray = null;
        String nArray[] = {"Hi1,1,2" ,"Hi3,3,4","Hi5,5,6"};

        for(int j=0 ;j < nArray.length ;j++) {

            strArray = str.split(",");
            for(int i = 1 ;i< strArray.length ;i++) {
                System.out.println(strArray[i]);
            }
        }

打印时,从计数器1(i = 1)开始输出

答案 1 :(得分:1)

使用InputStream输入填充列表

        String[] str = {"ps, as, s", "ss,a, s"};

        List<String> words = new ArrayList<>();
        for(int i=0; i<str.length; i++){
            String[] samples = str[i].split(",");
            for(int j=0; j<samples.length; j++){

                words.add(samples[j]);
            }
        }
        System.out.println(words);