[英]How to take parts from string in Java?
我有一个类似控制台的小程序,它允许通过JTextField输入命令。
我写了很多命令,将输入转换为字符串>,如果命令像ping IP属性(ping 192.168.1.1),我将子字符串5(ping),但是现在当我想要多个属性时(命令atr1 art22 atr333 art4444),我会得到
String command = "command"; //I can make this one
String attribute1 = "atr1"; //I can make this one
String attribute2 = "atr22";
String attribute3 = "atr333";
依此类推,但是无论该属性的长度如何,它都会给我...因为我可以用子字符串完成所有操作,但是随后将定义长度!
您可以使用String.split
:
String cmd = "command atr1 art22 atr333 art4444";
String[] parts = cmd.split(" ");
split方法允许使用正则表达式。 例如,这在空白量变化时很有用:
String cmd = "command atr1 art22 atr333 art4444";
String[] parts = cmd.split(" +"); // split by spans of one or more spaces
这里有一些选项,从简单/烦人到强大/难以学习
java.util.Scanner
使您可以取出另一个令牌,并且它具有一些方便的解析器帮助程序,如nextInt()
或nextFloat()
ps通常会在互联网上找到更多帮助,您正在寻找的搜索词是“ java parsing command line arguments”,这几乎就是您想要做的事情,以防万一您不知道:)
或者尝试这个 StringTokenizer类
StringTokenizer st = new StringTokenizer("this is a test"); while (st.hasMoreTokens()) { System.out.println(st.nextToken()); }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.