我試圖找到使用FINDTEXT用下面的代碼日本文檔中的多個片假名單詞(一個Unicode範圍內的一串字母):額外的匹配多個ocurrences
function highlightKatakana() {
var katakana = "[\u30A0-\u30FF]+";
var doc = DocumentApp.getActiveDocument();
var bodyElement = doc.getBody();
var searchResult = bodyElement.findText(katakana);
while (searchResult != null) {
var thisElementText = searchResult.getElement().asText();
Logger.log(thisElementText.getText());
Logger.log("From " + searchResult.getStartOffset() + " to " + searchResult.getEndOffsetInclusive());
searchResult = bodyElement.findText(katakana, searchResult);
}
}
對於有些原因,我沒有得到,當搜索下一個出現時,它從上一次出現的最後一個字符開始,因此它再次匹配爲一個字符的單詞。
這裏是從日誌的示例,但是應當僅匹配一次:
キンメダイの切り身に包丁目を入れ(火通りをよくし,味をしみ込みやすくするため),熱湯をかけてすぐに冰水にとる(霜降り)。 0-4
キンメダイの切り身に包丁目を入れ(火通りをよくし,味をしみ込みやすくするため),熱湯をかけ(霜降り)。 從4到4
既然searchResult是一個只有get方法的RangeElement,那麼使用findText(searchPattern,from)函數的正確方法是什麼?