如何从Java中的字符串中取出部分?

don*_*uel 1 java string attributes

我有一个像控制台这样的小程序,允许通过JTextField输入命令.

我有很多命令写入输入转换为字符串>如果命令有ping一个IP属性(ping 192.168.1.1)我substring 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";
Run Code Online (Sandbox Code Playgroud)

等等,但是无论长度属性如何它都会给我...因为我可以用子串完成所有事情,但是它会定义长度!

Jon*_*oni 5

你可以使用String.split:

String cmd = "command atr1 art22 atr333 art4444";
String[] parts = cmd.split(" ");
Run Code Online (Sandbox Code Playgroud)

split方法允许使用正则表达式.例如,如果空白量变化,这很有用:

String cmd = "command        atr1   art22 atr333     art4444";
String[] parts = cmd.split(" +"); // split by spans of one or more spaces
Run Code Online (Sandbox Code Playgroud)