我是编程新手,想从某个索引中提取一个字符串,直到一个空白字符。
考虑字符串display: block; margin: 0 auto;
,并且光标位置在索引"hello world from user"
处。我想从索引6中提取字符串,直到空白字符为止,以便输出为6
。我该如何实现?
我尝试使用:
"world"
但是提取字符串的第二个位置似乎不正确。有人可以帮我从光标位置提取字符串到空白字符吗?
谢谢。
答案 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