假设这是我的文本文件 info.txt :
My Name is
Joe
My Age is
25
My phone is
Nokia
有没有一种使用 Javascript 返回 25 的有效方法(知道它出现在“我的年龄是”之后的行中?
我正在使用 vanilla Javascript 和 FileReader
最佳答案
您可以简单地使用 RegEx:
let matches = str.match(/My Age Is\s?\n([0-9]+)/i)
let age = matches[1];
这是 JSFiddle:https://jsfiddle.net/tee3y172/
而且,这是分解的方式:
- 我的年龄是 - 匹配这个字符串
- \s? - 可能后跟一个空格(在您的示例中,它后跟一个空格)
- \n - 后跟一个新行
([0-9]+)
- 后跟任何数字系列(您也可以使用\d+
)并将它们分组(这就是括号的作用) ).- i - 忽略大小写
然后分组允许您在索引 1 (matches[1]
) 捕获您想要的文本。
要匹配“My age is”之后行中的任何内容,您可以使用 (.*)
它将匹配除换行符之外的任何内容:
let matches = str.match(/My Age Is\s?\n(.*)/i)
let age = (!!matches) ? matches[1] : 'No match';
这是用于此的 JSFiddle:https://jsfiddle.net/spadLeqw/
关于javascript - 如何在文本文件中的两个句子之间找到特定的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47793935/