我试图从字符串中提取出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个字符串,并在输入字符串中提取“,”之后的单词。
答案 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);