Java 如何根据part';s位置(int)?

Java 如何根据part';s位置(int)?,java,android,string,split,Java,Android,String,Split,如果您有一个字符串,其值由逗号分隔,如下所示: String s = "zero, number one, two, three, number four, five"; int i = 3; String newString = "three"; 给你一个介于0和5之间的数字,如下所示: String s = "zero, number one, two, three, number four, five"; int i = 3; String newString = "three"

如果您有一个字符串,其值由逗号分隔,如下所示:

String s = "zero, number one, two, three, number four, five";
int i = 3;
String newString = "three";
给你一个介于0和5之间的数字,如下所示:

String s = "zero, number one, two, three, number four, five";
int i = 3;
String newString = "three";
那么如何获得匹配值,以便新字符串包含如下“三个”:

String s = "zero, number one, two, three, number four, five";
int i = 3;
String newString = "three";

该方法应适用于字符串中无限数量的随机单词。

您可以创建如下函数:

String getString(String data, int position) {
    return data.split(",")[position];
}
把它叫做

String s = "zero, number one, two, three, number four, five";
String newString = getString(s, 3);

如果字符串包含逗号,则可以将该字符串按逗号拆分为一个数组。现在,您可以使用数字3作为标记化数组的索引

例如:

//s is your string as you mentioned above
String [] tokenized=s.split(",");
//i is your number 3 as you mentioned above
System.out.println(tokenized[i]);

无法使用OP的原始字符串。首先,该代码无法检查是否实际上至少存在“位置”条目;如果不是,或者如果用户输入负数,它将抛出异常。其次,传递给split()的正则表达式是错误的。如果您将“3”传递给函数,它将返回“3”(注意前导空格),而不是“3”。请参阅我对前面答案的评论,了解其错误原因。我看到了您的评论。我认为没有问题。他可以创建一些验证条件。不太严重的问题:)