※ 引述《pupuliao (pupu)》之銘言:
: 最近在寫程式的時候 發現幾個問題在網路上一直找不太到解答
: 所以過來拜問OTZ
: 我做的內容是 文章的大量置換
: 問題一
: String.replaceAll() 和 regex.Matcher 、 regex.Pattern
: 的差別,這兩個都可以使用正規表示式做文字的替換
: 前者只要一行,而後者卻要寫成
: java.util.regex.Pattern p_html = Pattern.compile(正規表示式規則,Pattern.CASE_INSENSITIVE);
: java.util.regex.Matcher m_html = p_html.matcher(文章);
: String result = m_html.replaceAll("要置換成的字串");
: 這兩種方法有何差異呢?
: 為何我看到有文章說,如果是大篇的文章,要用後者?
這兩個方式做的事情是一模一樣的。
只是,每用一次 String.replaceAll() 的時候,regular expression 都會
被分析一次。因此當你呼叫的次數很多,而 expression 都不會變的話,
用 Pattern 先把分析好的版本留著,就不需要讓 Java 每次都重新跑一次。
: 問題二
: 我想要做 在UTF-8 格式下 的 簡繁互轉
: 我現在是學 javascript 的方法
: 把 要替換的 簡體字 繁體字 都放進字串中
: 然後用跑 for迴圈的方式 一個字一個字的置換
: 不過還滿慢的,有比較快速度方法嗎?
: 謝謝
如果你要替換的對象是不固定的,程式勢必要至少讀過一次每個字。
沒看到 code 的話其實也不知道要怎麼回你..
--
We who cut mere stones must always be envisioning cathedrals.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.35.186.241
討論串 (同標題文章)