In my program a string is generated like this: Energie 670 kJ / 160 kcal
So how to write split function in java code and the first keyword Energie should print
the outputs?
输入:
Energie 670 kJ / 160 kcal
预期输出:
1) Energie 670 kJ 2) Energie 160 kcal
如果有人能解决这个问题,或者更好的解决方法 串两次?
提前致谢
答案 0 :(得分:1)
String类中有方法
String[] split(String delimiter)
像这样使用
String strs[] = str.split("/");
for (int i=0; i<strs.length; i++) {
System.out.println(strs[i].trim());
}
但正如其他人提到的那样,阅读API会很舒服,大部分时间你都可能找到你想要的东西。
答案 1 :(得分:1)
使用String对象的split api尝试此操作,如下所示:
String str = "Energie 670 kJ / 160 kcal";
String strs[] = str.split(" / ");//if you are expecting multiple space/tab etc use "\\s+/\\s+ instead of " / ""
for (int i=0; i<strs.length; i++) {
System.out.println(strs[i]);
}
答案 2 :(得分:1)
您可以使用适当的方法string.split()来分割字符串。
String string =&#34; Energie 670 kJ / 160 kcal&#34 ;;
String [] parts = string.split(&#34; /&#34;);
String part1 = parts [0] .trim(); // Energie 670 kJ
String part2 = parts [1] .trim(); // 160 kcal
答案 3 :(得分:0)
String s = "Energie 670 kJ / 160 kcal";
// remove the leading "Energie"
String stripped = s.replace("Energie", "").trim();
String[] parts = stripped.split("/");
// take what's left of the slash
String s1 = "Energie ".concat(parts[0].trim());
// take what's right of the slash
String s2 = "Energie ".concat(parts[1].trim());
// print both resultant strings
System.out.println(s1);
System.out.println(s2);
答案 4 :(得分:0)
public class StringSplit {
public static void main(String args[]) throws Exception{
String testString = "670 kJ / 160 kcal";
System.out.println
(java.util.Arrays.toString(testString.split("\\s+")));
} }
output : [670,kJ,/,160,kcal]
从数组中获取reqiuered值。您也可以使用'\'来分割字符串,而不是使用空格。