看板 java 關於我們 聯絡資訊
各位先進好 我知道要怎麼判斷兩個字串是否相同 那想請問一下我要怎麼判斷是否含有特定文字呢 ex:文字檔裡面其中一行的內容是「各位先進好 我知道要怎麼判斷兩個字串是否相同」 然後我在輸入的地方輸入:「先進」 系統就把整行印出來,請問這樣怎麼做到呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.135.37.28
james732:http://pastie.org/2349010 08/10 14:34
LaPass:關鍵字:正規表示式 不管你用哪套語言都會遇到的東西 08/10 14:51
LaPass:唔.... 1F那種方法比較方便,不過比對比較複雜的東西時,用 08/10 14:56
LaPass:java.util.regex 可以解決複雜的比對、置換功能 08/10 15:03
james732:因為我很懶惰,所以用簡單的方法就好 XD 08/10 15:05
mars90226:大概是 /先進.*$/ 08/10 15:45
我目前是採用1樓J大的方式 不過我有個問題 我是輸入文字 然後去和記事本裡面做比對 輸入中文字的時候 似乎都無法比對 還有從記事本裡面回傳回來的中文也會顯示空的方格(亂碼) 想請問一下各位要怎麼處理 ※ 編輯: B2Bruney 來自: 220.135.37.28 (08/10 16:34)
james732:編碼問題吧,我猜記事本裡的是big5 08/10 18:02
choufeng:恩恩~感覺你是JAVA新新手厚! 文件或書要先多讀一點 08/10 20:45
是阿 我才剛學沒有很久 我有在看書 文件一直都看得不是很懂 不過我有盡量再看
darkk6:openStream 的時候指定編碼 08/11 01:24
好的謝謝你 我試試看 ※ 編輯: B2Bruney 來自: 220.135.37.28 (08/11 12:28) 抱歉我剛剛改了幾個地方結果一直發生錯誤 可不可以請版上的各位幫我看看 File myFile = new File("D:\\JavaUsersDataSource.txt"); FileReader fileReader = null; try { fileReader = new FileReader(myFile); } catch (FileNotFoundException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } BufferedReader reader = new BufferedReader(fileReader); buf = text.field4.getText(); String str1 = ""; text.users.setText(""); text.label8.setText("搜尋聯絡人名稱或地址中包含" + buf + "的結果是: "); try { while((str1=reader.readLine()) != null) { if(str1.indexOf(buf) != -1) { text.users.setText(text.users.getText()+str1+'\n'); } } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } 我這樣要把編碼加在哪裡比較好 因為後來還要顯示在FRAME上 所以我覺得是要把記事本的每一行抓進來的時候做編碼 可是我不太會改 可以請高手指導一下嗎 謝謝 ※ 編輯: B2Bruney 來自: 220.135.37.28 (08/11 13:34)
darkk6:用Scanner 吧XDDD 08/12 08:49
B2Bruney:解決了 謝謝大家的幫忙:) 08/12 14:28