可以說我有一個句子:「這是一個測試句子。」我希望用戶能夠選擇文本的小節,但沒有標點符號或不完整的單詞。如何擴展選定的文本以包含整個單詞
所以「測試句子」。應該成爲 「試驗一句」 和 「EST sentenc」 應該也成爲 「試驗一句」
這裏是我當前的代碼:
var getSelectedText = function() {
var text = "";
if (window.getSelection) {
text = window.getSelection().toString().trim();
} else if (document.selection && document.selection.type != "Control") {
text = document.selection.createRange().text;
}
return text;
}
FYI:jQuery代碼就可以了。
編輯爲Bender:
好吧,這幾乎是存在的。我有超過5萬句和用戶的選擇是可變的,所以我必須做這樣的事情:
var selection = getSelectedText();
var exp = new RegExp("\\w*" + selection + "\\w+");
text.match(exp);
然而,這將不匹配如果用戶沒有選擇「測試一句」這是更容易比不。
我會用一個正則表達式來匹配整個單詞。這是一個基礎示例:https://regex101.com/r/xW0mR8/1您必須對其進行增強才能使其適用於任何選擇案例 – BeNdErR
@BeNdErR聰明! :) – Nico
@BeNdErR請參閱我的編輯。 –