gpt4 book ai didi

javascript - 删除除javascript中字符串的特定部分以外的所有内容

转载 作者:行者123 更新时间:2023-11-29 10:21:43 25 4
gpt4 key购买 nike

我正在为 Sharepoint 编写一个小应用程序。我正在尝试从返回的字段中间提取一些文本:

var ows_MetaInfo="1;#Subject:SW|NameOfADocument
vti_parservers:SR|23.0.0.6421
ContentTypeID:SW|0x0101001DB26Cf25E4F31488B7333256A77D2CA
vti_cachedtitle:SR|NameOfADocument
vti_title:SR|ATitleOfADocument
_Author:SW:|TheNameOfOurCompany
_Category:SW|
ContentType:SW|Document
vti_author::SR|mrwienerdog
_Comments:SW|This is very much the string I need extracted
vti_categories:VW|
vtiapprovallevel:SR|
vti_modifiedby:SR|mrwienerdog
vti_assignedto:SR|
Keywords:SW|Project Name
ContentType _Comments"

所以......我想要返回的只是“这正是我需要提取的字符串”

我需要正则表达式和字符串替换吗?你会如何编写正则表达式?

最佳答案

是的,您可以为此使用正则表达式(这是它们擅长的事情)。假设您总是希望在以“_Comments:SW|”开头的行中管道 (|) 之后的字符串,您可以按照以下方式提取它:

var matchresult = ows_MetaInfo.match(/^_Comments:SW\|(.*)$/m);
var comment = (matchresult==null) ? "" : matchresult[1];

请注意,String 对象的 .match() 方法返回一个数组。第一个(索引 0)元素将是整个匹配(这里,我们整个匹配是整行,因为我们用 ^ 和 $ 锚定它;请注意,在正则表达式后添加“m”使它成为多行正则表达式,允许我们匹配多行输入中任何一行的开始和结束),数组的其余部分是我们使用括号捕获的子匹配。上面我们已经捕获了您想要的行的一部分,因此它将出现在数组的第二项(索引 1)中。

如果没有匹配项(“_Comments:SW|”没有出现在 ows_MetaInfo 中),那么 .match() 将返回 null,这就是我们在提取注释之前对其进行测试的原因。

如果您需要针对其他情况调整正则表达式,请查看 Mozilla Dev Network 上的正则表达式文档:https://developer.mozilla.org/en/JavaScript/Guide/Regular_Expressions

关于javascript - 删除除javascript中字符串的特定部分以外的所有内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10402891/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com