1

コマンドとその引数の間にあるスペースでのみコマンドラインを分割するパターンを書くのを手伝ってください:

私のコード:

String commands = "gedit /home/ant/Documents/Txt Books/1.txt /home/ant/Documents/1.txt";

String[] arrCommands = Pattern.compile("\\\s[^\\\s\\\w]").split(commands);

for (int i = 0; i < arrCommands.length; i++) {
     System.out.println(arrCommands[i]);
}

プログラムは次の結果を与えます。

gedit
home/ant/Documents/Txt Books/1.txt
home/ant/Documents/1.txt

そして、そうする必要があります:

gedit
/home/ant/Documents/Txt Books/
1.txt /home/ant/Documents/1.txt

4

2 に答える 2

1

split() メソッドを使用して文字列を分割することもできます

例えば ​​:

コマンドとその引数の間にあるスペースでのみコマンドラインを分割するパターンを書くのを手伝ってください:

String commands = "gedit /home/ant/Documents/Txt Books/1.txt /home/ant/Documents/1.
String[] commandsToArray=commands.split("\\s+");//this wil ignore multiples whitespaces
于 2013-03-07T08:42:56.733 に答える
0

分割するには、この正規表現を使用する必要があります

\\s+(?=[^\\w\\s])

あなたの正規表現では、スペースの後の最初の[^\\\s\\\w]文字を食べるでしょう..したがって、結果..

lookaheadパターンをチェックするだけで、それを食べない使用...

于 2013-03-07T08:37:14.787 に答える