首页 > 解决方案 > Javascript 解析大字符串

问题描述

我有一个相当简单的问题。

我有一根大绳子,我想抓住绳子的特定部分。

例如,在下面的文本正文中,我想获取两个粗体短语之间的短语。

起初我可以简单地使用.split('unique word')[1]第一个粗体字之后的短语。

但是,我不能.split('nonunique word')[0]直接在第一次拆分得到的字符串上使用。(这会为我返回一个错误,说我要拆分的字符串是undefined)。

在我的具体情况下,我试图拆分的第二个短语在整个字符串中重复多次,这就是为什么我在本例中将其描述为“非唯一词”。

Lorem ipsum dolor sit amet, consectetur adipiscing elit。Curabitur non fringilla eros,一种枕状痛。Nunc mauris nulla,consectetur egestas ipsum quis,独特的单词dui 。Pellentesque nulla非唯一词 quis pharetra sit amet,vulputate sat amet nisl。Aenean sit amet ipsum 一个精英前庭。Pellentesque interdum nisi sat amet。

请让我知道是否有一种简单的方法可以做到这一点。谢谢!

标签: javascripthtmlstringparsing

解决方案


在文本中找不到唯一单词的情况下,这取决于您希望它返回什么。如果您想返回一个空字符串,您可以使用默认值,如下所示:

var myStr = "my text has a unique word and also some nonunique word nonunique word nonunique word";
var myStr2 = "my text does not have any has a uniquewords";
           // if split()[1] is undefined (because unique word was not found), default to ""
var text = (myStr.split('unique word')[1] || "").split('nonunique word')[0];
           // if split()[1] is undefined (because unique word was not found), default to ""
var text2 = (myStr2.split('unique word')[1] || "").split('nonunique word')[0];
console.log(text);
console.log(text2);


推荐阅读