如何从JavaScript中的Caret位置获取最后一句话?

时间:2016-07-28 14:18:11

标签: javascript c# string indexof caret

我正在使用纯JavaScript,我想从变量中的文本字符串中获取最后一个单词,即我的当前插入位置,如下图所示,我想得到unknown字。

enter image description here

在C#中,我使用了以下代码概念,并在那里完美地工作......

private static char[] splitters = new char[] { ' ', '\n', '۔' };
int caretPosition = string.SelectionStart;
string tempLastWord = string.Substring(0, caretPosition);
string lastWord = tempLastWord.Substring(tempLastWord.LastIndexOfAny(splitters) + 1);

现在我想在纯JavaScript中做同样的事情......

var splitters =  [ ' ', '\n', '۔' ];
var caretPosition = document.getElementById(Desired_ID).value.slice(0, document.getElementById(Desired_ID).selectionStart).length;
var tempLastWord = document.getElementById(Desired_ID).value.substring(0, caretPosition);
var lastWord = tempLastWord.substring(tempLastWord.lastIndexOf(splitters) + 1);

但我的JavaScript代码效果不佳。任何人都可以帮助我...... ???

2 个答案:

答案 0 :(得分:1)

var lastWord = tempLastWord.substring(tempLastWord.lastIndexOf('\n') + 1);
lastWord = lastWord.substring(lastWord.lastIndexOf(' ') + 1);
lastWord = lastWord.substring(lastWord.lastIndexOf('?') + 1);

这很有效。

答案 1 :(得分:0)

var lastWord = tempLastWord.substring(tempLastWord.lastIndexOf(splitters + 1));