我爲JEditorPane實現了DocumentListener(需要有關insertUpdate(DocumentEvent e)方法的幫助)。如何讀取最後一個單詞或最後一行(行由'\ n'分隔,單詞由''分隔)?如何讀取DocumenListener中的最後一個字或最後一行
0
A
回答
2
爲了讓您的JEditorPane中的最後一行,拆分編輯器中的文本上\n
,如下圖所示:
String text = editor.getText();
String[] lines = text.split("\n");
String lastLine = lines[lines.length-1];
System.out.println("Last line: " + lastLine);
同樣,拿到最後一個字,分爲上空間的最後一行。
+0
不是一個非常有效的解決方案,特別是對於大型文件。您應該利用Docuement結構,因爲文本已經被解析爲行。 – camickr 2011-04-13 15:27:24
3
實用程序類可以與格式化內容一起使用,例如, html
public static final int getWordStart(JTextComponent c, int offs) throws BadLocationException
public static final int getWordEnd(JTextComponent c, int offs) throws BadLocationException
+0
+1,更好的解決方案,可用於任何大小的文件。所有你需要知道的是document.getLength(),你可以得到最後一個單詞的偏移量。然後你使用document.getText(...)方法來獲取這個單詞。如果你想要最後一行,你可以使用getLineStart/End方法來獲得偏移量。 – camickr 2011-04-13 15:31:57
相關問題
- 1. 從文件中讀取最後一行
- 2. 讀取文件的最後一行
- 3. 如何使用lseek讀取文件的最後一個字符
- 4. fgets()PHP讀取最後一行?
- 5. Fortran read()讀取最後一行兩次?
- 6. 如何讀取python中最後幾行?
- 7. 一行一行地讀取文件,但是反過來(最後一行先,然後是最後一行等)
- 8. 刪除字符串中最後一個空格後的最後一個字符
- 9. 讀取文件中最後一行的最快方法
- 10. 如何不讀取文件中的最後一行?
- 11. 如何獲取textarea的最後一行?
- 12. 循環只讀取最後一個值
- 13. 函數不讀取最後一個值
- 14. 從文件讀取刪除文檔中最後一個字符串的最後一個字母?
- 15. 最後一個唯一行
- 16. 如何在讀取文本文件時在每行中找到最後一個數字後跳至下一行?
- 17. 如何取回最後一個單詞或字符在PHP
- 18. 如何獲取Google Spreadsheet中最後一個非空字段的最後一個和第二個字段?
- 19. 如何從文件中讀取最後一行?
- 20. 如何從DataFrame獲取最後一行?
- 21. 如何獲取C++中字符串的最後一個字符
- 22. 如何獲取PHP中最後一個字符串的字符?
- 23. 讀取Swift中的最後一個控制檯行xCode
- 24. 最後一個字符獲取的EditText
- 25. 提取最後一行
- 26. 獲取最後一行PER
- 27. 如何對齊多行柔性盒中的最後一行/最後一行
- 28. 使用awk覆蓋最後一行中的最後一個字段
- 29. 如何選擇最後3行,但最後一個
- 30. 提取最後一名員工的最後一個動作
我不確定你爲什麼使用JEditorPane。 JEditorPanes用於顯示HTML。 HTML不使用行的概念。您只需添加文本,HTML將在適當時包裝文本。如果你想強制一個新行,那麼你使用
標籤。我認爲你應該使用JTextArea或JTextPane來處理常規文本。 – camickr 2011-04-13 15:35:01