javascript - 如何在文本文件中的两个句子之间找到特定的单词

标签 javascript string

假设这是我的文本文件 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/

相关文章:

javascript - Array prop 返回 Observer,因此无法访问 [0]

javascript - 如何从谷歌驱动器下载动态文件

c++ - 如何在 C++ 字符串中找到第一个字符

java - 如何找到字符串的分解?

sql - 如何连接多行?

r - 从 data.frame 行中提取字符列表值并 reshape 数据

javascript - 在 javascript 中编写 html 时出现引用问题

javascript - D3.js 条形图上的分组条形图文本

javascript - 如何在不更改其内部 Prop 的情况下重用 React 组件?

c++ - 将数据从txt文件复制到C++中的char指针