我是angularjs
和webdevelopoment
的新手。在这里,我确实有字符串,这是选定的字符串,它像 -
var getSelectedText = function() {
var text = "";
if (typeof window.getSelection !== "undefined") {
text = window.getSelection().toString();
} else if (typeof document.selection !== "undefined" && document.selection.type === "Text") {
text = document.selection.createRange().text;
}
$scope.annotations = annotationList();
return text;
};

现在,这是从选项卡上显示的字符串中选择的。现在,假设,
Lorem Ipsum只是印刷和排版行业的虚拟文本。自16世纪以来,Lorem Ipsum一直是业界标准的虚拟文本,当时一台未知的打印机采用了类型的厨房,并将其拼凑成一个类型的样本书。它不仅存在了五个世纪,而且还延续了电子排版,基本保持不变。它在20世纪60年代推出了包含Lorem Ipsum段落的Letraset表格,最近还发布了包括Lorem Ipsum版本在内的桌面出版软件Aldus PageMaker。
这是一个字符串,我想得到一个字符串的开始和结束,这是一个选定的字符串
但也是电子排版的飞跃,基本保持不变。它被普及了
那么,我怎样才能在javascript中获得这个?
答案 0 :(得分:0)
尝试一下并查看评论:
var str = 'a string to search for a value within, we can add as many words as we want here';
function findWithin(str, searchTerm){
var index = str.indexOf(searchTerm);
if(index !== -1){
// at this point we know the string is within the text
// the start offset will be the place we found the searchTerm
// the end offset will be the length of the whole str minus the length from the start of the str to the end of the searchTerm
var endOfSearchTerm = index + searchTerm.length;
var endOffset = str.length - endOfSearchTerm;
return { startOffset: index, endOffset: endOffset}
} else {
return 'string not found in text!'
}
}
findWithin(str, 'we can add as many')