>我正在尝试在字符串中提取 之后的单词。我必须为来自用户输入的 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 个字符串,并在输入字符串中提取 "," 后面的单词。
如果您要获取一组字符串作为输入(带逗号(并拆分每个输入,请尝试以下操作:
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(
一旦你用输入流输入填充列表
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);