2013-07-17 22 views
-8

嗨我想清楚如何拆分字符串,所以继承人我的代码: ,因为我使用bufferedreader和我有两个文本框,所以它读取文本框(第一个文本框我键入约翰),第二个文本框我键入彼得)输出是johnpeter,所以我想分开文本框而不是直接读1行。java拆分文本框使用bufferreader

BufferedReader reader = new BufferedReader(new InputStreamReader(
      req.getInputStream())); 
     String name; 

    while ((name = reader.readLine().toString()) != null) 
    { 

     Statement stmt; 


    String[] players = name.split(""); 
     String playerO = players[1]; 
     String playerX = players[2]; 

电流输出是:

Player 1 :j 
Player 2 :o 

,我想我的输出是:

Player 1 :john 
Player 2 :peter 
+5

那么,拆分什么? –

+0

代码不可编译 –

+0

@JigarJoshi可能缺少'johnpeter'上的引号 – StephenTG

回答

3

由于是,你将无法分割你想要的字符串,因为没有明确的界定字符。如果你将它保存为“john peter”或“john,peter”或类似的东西,那么拆分会更容易。

那么你只需要改变

String[] players = name.split("");

String[] players = name.split(" ");

String[] players = name.split(",");

而且,正如其他人所提到的,记得在players的第一个项目是players[0],不是players[1]

0

我不确定自从拆分(“关于什么”)后你要做什么。

如果尝试一些像这样的东西的名称之间的空间,

String name = "john peter"; 
    String[] players = name.split(" "); 
    String playerO = players[0]; 
    String playerX = players[1]; 


    System.out.println("Player 1 :" +playerO); 
    System.out.println("Player 2 :" +playerX); 

如果要拆分(“?”)应该有标识

1

正如其他人所提到的(在哪一分) ,你的原始字符串 “johnpeter” 需要,而不是要像

"john,peter,joey,tom,dick,harry"; 

那么你可以

String name = "john,peter,joey,tom,dick,harry"; 
String[] players = name.split(","); 
String playerO = players[0]; 
String playerX = players[1]; 


System.out.println("Player 1 :" + players[O]);//or, playerO 
System.out.println("Player 2 :" + players[1]);//or, playerX 

注意数组的零基。希望这可以帮助!