2013-01-24 84 views
0
<% 
    st = con.createStatement(); 
    rs = st.executeQuery("select pf_nm from portfolio"); 

    while(rs.next()) 
    { 
    out.print(rs.getString(1)); //divide the result into multiple values 
    } 
%> 

上述代碼中的結果可能會因所讀取的數據而異。結果的例子如下:根據列將getString結果拆分爲多個值

Google Facebook 
or 
Google 
or 
Google Facebook Apple 
+2

你的問題是什麼? – Smit

+1

你的意思是像[String.split()](http://docs.oracle.com/javase/6/docs/api/java/lang/String.html#split%28java.lang.String%29)? –

+0

當你編寫'rs.getString(1)'時,你實際上得到了ResultSet的當前行中第一列的內容。因此,根據哪一列你想要的字符串(哪個字符串?)拆分? – GeorgeVremescu

回答

1

如果我明白你的問題,意見正確的,那麼你可以做這樣的事情

ArrayList<String> cols = new ArrayList<String>(); 
while(rs.next()) 
    { 
    cols.add(rs.getString(1)); 
    // Do something.. 
    } 

編輯:我從你剛纔的問題

明白了什麼
String result = rs.getString(1); // gives "Google Facebook Apple AT&T" as result 
String[] names = result.split("\\s"); // Split the line by whitespace 

如果你想要你也可以使用ArrayList。你也可以使用hashMap,如果你需要關鍵值assoiciation(我不確定你想要什麼)。以下是一些有用的鏈接

1. Splitting string in java

2. How to use ArrayList in Java

3. HashMap example in Java

這是給你完整的僞代碼。

public class StringSplit { 

    public static void main(String [] sm){ 
     String str = "Google Facebook Apple AT&T"; 
     // If you have more than one whitespace then better use \\s+ 
     String[] names = str.split("\\s"); 
     for(int i =0; i<names.length; i++){ 
      System.out.println(i +" : " + names[i]); 
     } 
    } 
} 

我希望這可以幫助你。

+1

謝謝,這就是我想要的。 –