Ich versuche, mehrere Katakana Wörter (ein paar Buchstaben in einem Unicode-Bereich) in einem japanischen Dokument mit findtext mit dem folgenden Code zu finden:Extra-Matching, wenn findtext() für mehrere ocurrences mit
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);
}
}
Für einen Grund, den ich nicht verstehe, wenn ich nach dem nächsten Vorkommen suche, es beginnt mit dem letzten Zeichen des vorherigen Vorkommnisses, und deshalb stimmt es wieder als ein Ein-Zeichen-Wort überein.
Hier ist ein Beispiel aus dem Protokoll ist, sollte es nur einmal entsprechen:
キ ン メ ダ イ の 切 り 身 に 包 丁目 を 入 れ (火 通 り を よ く し, 味 を し み 込 み や す く す る た め), 熱湯 をか け て す ぐ に 氷水 に と る (霜降 り). von 0 bis 4
キ ン メ ダ イ の 切 り 身 に 包 丁目 を 入 れ (火 通 り を よ く し, 味 を し み 込 み や す く す る た め) 熱湯 を か け12 す ぐ に に に る (霜降 り). Von 4 bis 4
Da searchResult ein RangeElement mit nur get Methoden ist, Was sollte der richtige Weg sein, um die Funktion findText (searchPattern, from) zu verwenden?