如何使用javascript从起始索引到空白字符提取字符串?

时间:2019-07-04 15:02:41

标签: javascript

我是编程新手,想从某个索引中提取一个字符串,直到一个空白字符。

考虑字符串display: block; margin: 0 auto;

,并且光标位置在索引"hello world from user"处。我想从索引6中提取字符串,直到空白字符为止,以便输出为6。我该如何实现?

我尝试使用:

"world"

但是提取字符串的第二个位置似乎不正确。有人可以帮我从光标位置提取字符串到空白字符吗?

谢谢。

4 个答案:

答案 0 :(得分:2)

首先,您需要从光标位置到字符串末尾获取字符串。 之后,您可以链接另一个 .substr()调用,以从开始到第一次出现空白处修剪字符串。 这是一个示例:

var str = "hello world from user";
var cursorPosition = 6;
str = str.substr(cursorPosition, str.length).substr(0, str.indexOf(' '));
console.log(str);

答案 1 :(得分:1)

您可以使用.slice()将字符串从起始索引切到单词的末尾,然后在新字符串上使用.split()将其“分块”成一个数组,其中每个元素都是从字符串中以空格分隔的单词。

例如:

"hello world from user" --> slice(6) --> "world from user"

然后:

"world from user" --> split(' ') --> ["world", "from", "user"]

从拆分数组中获取第一个元素/单词(索引0)将得到"word"

请参见以下示例:

const str = "hello world from user";
const idx = 6;
const res = str.slice(idx).trim().split(' ')[0];
console.log(res); // "world"

如果需要它,当您从空格开始时得到下一个单词,可以在数组.split()之前使用.trim()

const str = "hello world from user";
const idx = 5;
const res = str.slice(idx).trim().split(' ')[0];
console.log(res); // "world"

答案 2 :(得分:1)

您可以通过这种方式实现

cursor_position = event.target.selectionStart;
extracted_string = event.target.value.substr(cursor_position);
next_word_length = extracted_string.split(' ')[0].length
next_word = event.target.value.substr(cursor_position, next_word_length)

答案 3 :(得分:0)

http://your_host:8080/api/v1/api-docs?access_token=your_access_token indexOf作为第二个参数。因此,不需要所有这些链接。您只需使用下面的功能即可。

fromIndex