查看完整版本: 字串的問題(已解決)
頁: [1]

ilikeiceblue 發表於 2009-4-20 12:30 AM

字串的問題(已解決)

本帖最後由 ilikeiceblue 於 2009-4-20 05:10 PM 編輯

例如 >> I'm goint to , " go back".
會印出

I
m
want
to
going
to
go
back

改怎麼寫(小弟剛學JAVA<div></div>

include 發表於 2009-4-20 09:43 AM

String.split()
請參考這個方法

ilikeiceblue 發表於 2009-4-20 12:20 PM

還是寫不出來= =".......慘了

z162031 發表於 2009-4-20 01:29 PM


               public static void main(String[] args){
                String s = "I'm want to going to , \" go back\".";
                StringBuffer sb = new StringBuffer();
                for(int i = 0;i < s.length();i++){
                        int _cahr = (int)s.charAt(i);
                        if((_cahr > 64  && _cahr < 91) || (_cahr > 96  && _cahr < 123)){
                                sb.append(s.charAt(i));
                        }else{
                                sb.append(" ");
                        }
                }
                String[] splitArray = sb.toString().split(" ");
                for(int i = 0;i < splitArray.length;i++){
                        if(!splitArray.trim().equals("")){
                          System.out.println(splitArray);
                        }  
                }
               
        }
...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div>

19821206 發表於 2009-4-20 03:53 PM

其實2樓大的方法比較好用喔:D

參考看看
                String s = "I'm want to going to , \" go back\".";
                String [] tmp=s.split("[^a-zA-Z]+");
<br><br><br><br><br><div></div>

ilikeiceblue 發表於 2009-4-20 04:07 PM

請問一下第4~第9行是什麼意思

19821206 發表於 2009-4-20 04:23 PM

我大概說一下,就是逐字檢查,然後英文以外的符號使用空白取代

之後再用split切割空白字元

而我上面提供那個方法是使用正規表示法,所以一行就可以做分割並存在tmp變數

你只需再使用
for(String tmps:tmp) System.out.println(tmps);就可以全部取出來了

ilikeiceblue 發表於 2009-4-20 04:49 PM

我寫出來了 謝謝各位大大的幫忙阿...三行就可以了^_^
最後想請教一下
String [] tmp=s.split("[^a-zA-Z]+");
的[^a-zA-Z]+
他是代表什麼意義

19821206 發表於 2009-4-20 05:05 PM

本帖最後由 19821206 於 2009-4-20 05:07 PM 編輯

也是一樣的意思阿~分割點用非大小寫的英文字母來做切割

簡單來說遇到英文以外的符號就會當做切割點

更改標題為以解決可再獲得五分喔!

ps有錯請補充

cd432rs 發表於 2009-6-5 02:05 PM

鈉如果要切的字串s = "  hello !! word ! 123 ";
我只要hello,!!,word,123
可hello前有空白,split()還是會存到空白
如何解決呢???<br><br><br><br><br><div></div>
頁: [1]