我想知道是否可以从字符串中获取一系列输入。
假设输入是一个表示"(INPUT:the dog, the cat)"
的字符串。
我们如何将字符串从:
剪切到,
?这可能吗 ?
答案 0 :(得分:2)
您可以使用String::substring()
方法从实际字符串中获取字符串的一部分。
substring()
方法接受起始索引或起始索引和结束索引,并在这些索引之间返回一个字符串。
String s = "(INPUT:the dog, the cat)";
System.out.println(s.substring(s.indexOf(":") + 1, s.indexOf(",")));//the dog
如果您也想要所有其他输入,可以将它与split()
结合使用String s = "(INPUT:the dog, the cat)";
String inp = s.substring(s.indexOf(":") + 1, s.length() - 1);
String []tokens = inp.split(", ");//["the dog", "the cat"]
for(int i = 0; i < tokens.length; ++i)
System.out.println(tokens[i]);
答案 1 :(得分:2)
在Java中,Strings是对象,因此,每个String都有使用String内容进行操作的方法。
对于您的任务,有两种有用的方法。
indexOf - 返回指定字符第一次出现的字符串中的索引。
substring - 返回一个字符串,该字符串是该字符串的子字符串。
有几种方法具有相同的名称但签名(参数)不同,因此请根据您的特定需求进行选择。
答案 2 :(得分:0)
public class SnipString {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String str = "(INPUT:the dog, the cat)";
String str1 = "";
char[] arr = str.toCharArray();
for (int i = 0; i < arr.length; i++) {
if (arr[i] == ':') {
i++;
while (arr[i] != ',') {
str1 = str1 + arr[i];
i++;
}
}
}
System.out.println(str1);
}
}