Javascript 如何获取字符串中的特定行

Javascript 如何获取字符串中的特定行,javascript,Javascript,需要改进代码 我有一个包含文本的字符串,我想在我的文本中获得一个3行特定的,下面是一个示例: Text='## THIS IS JUST A TEST \nHELP.\nJust replace `Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam egestas eros non pharetra maximus. Suspendisse congue augue in dui sollicitudin tincidunt.

需要改进代码

我有一个包含文本的字符串,我想在我的文本中获得一个3行特定的,下面是一个示例:

Text='## THIS IS JUST A TEST \nHELP.\nJust replace `Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam egestas eros non pharetra maximus. Suspendisse congue augue in dui sollicitudin tincidunt. Praesent blandit lorem eros, nec aliquet lacus sagittis vitae. Sed eleifend rhoncus lectus a rutrum.\n Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.\n Nullam faucibus lobortis ligula, a iaculis metus feugiat quis. Cras eu luctus purus. Donec hendrerit, ipsum maximus accumsan blandit, est dui eleifend tortor, eget cursus mauris purus in risus.\n Duis fringilla mi nec dolor efficitur, vitae hendrerit nisi tristique.\n@this\n-  USERNAME: userIWANTOGET\n- EMAIL: user@mail.com\n- PASSWORD: USERLISA12.\nNotes:\nLorem ipsum dolor sit amet, consectetur adipiscing elit. Nam egestas eros non pharetra maximus. Suspendisse congue augue in dui sollicitudin tincidunt. Praesent blandit lorem eros, nec aliquet lacus sagittis vitae.'


modified_text=Text.split('\n')

firstlineIWantToGet=(modified_text[7])
secondelineIWantToGet=(modified_text[8])
thirdlineIWantToGet=(modified_text[9])

console.log(firstlineIWantToGet)
console.log(secondelineIWantToGet)
console.log(thirdlineIWantToGet)
这里有一个工作代码的链接


我想以更好的方式将用户名、电子邮件和密码的值放入文本中。

您可以使用splice,然后只需提供索引:

const text='##这只是一个测试\n帮助。\n必须替换“Lorem ipsum dolor sit amet,concetetur adipsicing elit”。南埃格斯塔斯厄洛斯非法雷特拉最大。Suspendisse congue augue在锡西顿的酒后驾车。这是一种温和的爱,不需要像矢状体那样充满活力。这是一种芦苇,一种天然的肉牛和马格尼牛,产于蒙特斯,一种被认为是封建的动物。克拉斯·尤卢克图斯·普鲁斯。Donec hendrerit,ipsum maximus accumsan blandit,这是一种侵权行为,一种侵权行为,一种侵权行为\n@this\n-用户名:userIWANTOGET\n-电子邮件:user@mail.com\n-密码:USERLISA12。\n注意:\n请注意:请注意:请注意。南埃格斯塔斯厄洛斯非法雷特拉最大。Suspendisse congue augue在锡西顿的酒后驾车。勃朗迪特·洛雷姆·厄洛斯(lorem eros)是一位优雅的女性,但却不具备射手座的生命力
常数指数=7
const details=text.split('\n').splice(索引,3)
log(详细信息)
这可能会更多,但是我会使用匹配文本。也许是这样的:

text.match(
  /USERNAME: *?.*$|EMAIL: *?.*$|PASSWORD: *?.*$/gm
)
这将获取文本中可能包含或可能未包含的每个键/值对:

[
  'USERNAME: userIWANTOGET',
  'EMAIL: user@mail.com',
  'PASSWORD: USERLISA12.',
]
之后,您可以在
分隔符上拆分键/值对,并根据需要从它们创建一个对象:

{
  EMAIL: 'user@mail.com',
  PASSWORD: 'USERLISA12.',
  USERNAME: 'userIWANTOGET',
}
在下面的代码片段中,我曾经创建过这个对象,它可能需要Edge(和IE)中的一些附加代码才能正常工作。我还与一个包含预期键的默认值的对象一起使用-我发现,当找不到这些值时,这会使对象更可预测

常量文本=
`##这只是一个测试
救命啊。
只需替换“Lorem ipsum dolor sit amet,concertetur adipsicing elit”。南埃格斯塔斯厄洛斯非法雷特拉最大。Suspendisse congue augue在锡西顿的酒后驾车。这是一种温和的爱,不需要像矢状体那样充满活力。罗汉果。
产于蒙特斯的天然对虾和马格纳斯虎鲸(Orci varius natoque penatibus et magnis),以及印度虎鲸(nascetur ridiculus mus)。
这是一种古老的宗教信仰。克拉斯·尤卢克图斯·普鲁斯。Donec hendrerit、Bandit的最大权杖、tortor的最大权杖、risus中的purus。
我的工作效率不高,但我的工作效率很高。
@这个
-用户名:userIWANTOGET
-电邮:user@mail.com
-密码:USERLISA12。
笔记:
Lorem ipsum dolor sit amet,是一位杰出的献身者。南埃格斯塔斯厄洛斯非法雷特拉最大。Suspendisse congue augue在锡西顿的酒后驾车。这是一种温和的爱,不需要像矢状体那样充满活力`
//获取用户名、电子邮件、密码
常量匹配=text.match(
/用户名:*?*$|电子邮件:*?*$|密码:*?*$/gm
)
//注意:Object.fromEntries()可能需要边/IE的多边形填充
常量值fromtext=Object.fromEntries(
matches.map(str=>str.split(/:*/))
)
常量默认值={
用户名:“”,
电子邮件:“”,
密码:“”,
}
const values=Object.assign({},defaultValues,valuesFromText)
console.log(值)