[問題] 如何判斷字串內是否含有特定文字

看板java作者 (↙㊣★煞气aBB尼☆㊣↗)時間12年前 (2011/08/10 14:22), 編輯推噓4(407)
留言11則, 6人參與, 最新討論串1/1
各位先進好 我知道要怎麼判斷兩個字串是否相同 那想請問一下我要怎麼判斷是否含有特定文字呢 ex:文字檔裡面其中一行的內容是「各位先進好 我知道要怎麼判斷兩個字串是否相同」 然後我在輸入的地方輸入:「先進」 系統就把整行印出來,請問這樣怎麼做到呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.135.37.28

08/10 14:34, , 1F

08/10 14:51, , 2F
關鍵字:正規表示式 不管你用哪套語言都會遇到的東西
08/10 14:51, 2F

08/10 14:56, , 3F
唔.... 1F那種方法比較方便,不過比對比較複雜的東西時,用
08/10 14:56, 3F

08/10 15:03, , 4F
java.util.regex 可以解決複雜的比對、置換功能
08/10 15:03, 4F

08/10 15:05, , 5F
因為我很懶惰,所以用簡單的方法就好 XD
08/10 15:05, 5F

08/10 15:45, , 6F
大概是 /先進.*$/
08/10 15:45, 6F
我目前是採用1樓J大的方式 不過我有個問題 我是輸入文字 然後去和記事本裡面做比對 輸入中文字的時候 似乎都無法比對 還有從記事本裡面回傳回來的中文也會顯示空的方格(亂碼) 想請問一下各位要怎麼處理 ※ 編輯: B2Bruney 來自: 220.135.37.28 (08/10 16:34)

08/10 18:02, , 7F
編碼問題吧,我猜記事本裡的是big5
08/10 18:02, 7F

08/10 20:45, , 8F
恩恩~感覺你是JAVA新新手厚! 文件或書要先多讀一點
08/10 20:45, 8F
是阿 我才剛學沒有很久 我有在看書 文件一直都看得不是很懂 不過我有盡量再看

08/11 01:24, , 9F
openStream 的時候指定編碼
08/11 01:24, 9F
好的謝謝你 我試試看 ※ 編輯: 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)

08/12 08:49, , 10F
用Scanner 吧XDDD
08/12 08:49, 10F

08/12 14:28, , 11F
解決了 謝謝大家的幫忙:)
08/12 14:28, 11F
文章代碼(AID): #1EGYEnjD (java)