我有一个HTML页面,其中我使用javascript进行搜索,同时返回搜索文本,它也返回相邻的文本,但是这个相邻的文本被视为字符,而不是我想要前后特定数量的单词的单词搜索到的文字。任何人都可以帮助我。
答案 0 :(得分:0)
String a = "12345678A98765432";
System.out.println("My char or string is at postion " +a.indexOf('A'));
System.out.println("First 8 are "+ a.substring(a.indexOf('A')-8, a.indexOf('A')));
System.out.println("Next 8 are " +a.substring(a.indexOf('A')+1, a.indexOf('A')+9));
结果是:
我的字符串或字符串位于第8位
前8个是12345678
接下来的8个是98765432
你也可以在java脚本函数中做同样的事情
答案 1 :(得分:0)
使用正则表达式,单词eiusmod
之前和之后的8个单词,如果您想要8或更少,则可以将{8}
更改为{,8}
var txt = "Lorem ipsum dolor sit amet consectetur adipiscing elit sed do eiusmod tempor incididunt ut labore et dolore magna aliqua";
var result = txt.match(/((?:\s?(?:[\w]+)\s?){8})eiusmod((?:\s?(?:[\w]+)\s?){8})/);
var previousWords = result[1].trim().split(/\s/);
var nextWords = result[2].trim().split(/\s/);
结果:
> previousWords
> ["dolor", "sit", "amet", "consectetur", "adipiscing", "elit", "sed", "do"]
> nextWords
> ["tempor", "incididunt", "ut", "labore", "et", "dolore", "magna", "aliqua"]