2013-04-09 83 views
0
public void sendData(){ 
     try { 
      URL data = new URL("http://mywebsite.net/isvalid.php?username=" + usernameField.getText() + "&password=" + passwordField.getText()); 
      BufferedReader in = new BufferedReader(
      new InputStreamReader(data.openStream())); 

      String inputLine; 
      while ((inputLine = in.readLine()) != null) 
      if(inputLine.length() > 0) 
       inputString = inputLine; 
       in.close(); 
      if(!inputString.equals("Incorrect password.")){ 
       System.out.println("Correct password"); 
       run(); 
       dispose(); 
      } else 
       if(usernameField.getText().length() > 0 && passwordField.getText().length() > 0) { 
       invalidUP(); 
       System.out.println("Invalid username or password."); 
       } else 
        if(usernameField.getText().length() < 1 || (passwordField.getText().length() < 1)) { 
         System.out.println("No password or username entered."); 
         upLength(); 
      } 
     } catch (IOException e) { 
     e.printStackTrace(); 
     } 
    } 

我該如何檢查usernameField或passwordField是否有空格?如果有,請用「_」替換。替換java中的一個字符?

此外,如果您認爲此方法發送數據有誤或者可以更容易/更快地完成,請詳細說明。

+0

看看String.replace – 2013-04-09 16:15:29

+0

祕密是在[文檔](http://docs.oracle.com/javase/7/docs/api/java/lang/String.html) – iamnotmaynard 2013-04-09 16:16:06

+0

好吧,甜蜜。我已經使用替換方法,它的工作。有關方法本身的任何意見(sendData)? – user2192658 2013-04-09 16:58:31

回答

0

使用String#replaceAll()

String uname ="abc xyz"; 
uname = uname.replaceAll("\\s+", "_"); 
+0

正確,但沒有必要將巨大的RegExp槍取出來。 'replace'應該快得多。 – mrks 2013-04-09 16:16:35

+0

@mdsl注意我的正則表達式。這將用'-'替換多個空格。我假設OP需要用'-'替換多個空白空間 – PermGenError 2013-04-09 16:17:39

+0

你應該使用「_」!看看 – Trinimon 2013-04-09 16:18:05

0

如果只在您的字符串空間,然後試試這個:

username = username.replace(" " , "_"); 

否則,如果有您的用戶名是空白那就試試這個:

username = username.replaceAll("\\s+" , "_"); 
+0

你爲什麼要檢查它是否包含空格?如果沒有,'替換'將不會做任何事情。對字符串進行兩次迭代對我來說似乎沒有必要。 – mrks 2013-04-09 16:17:24

0

看看String.replace

passwordField = passwordField.replace('','_');