Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如果找到部分字符串,则返回完整字符串Javascript/Jquery_Javascript_Jquery - Fatal编程技术网

如果找到部分字符串,则返回完整字符串Javascript/Jquery

如果找到部分字符串,则返回完整字符串Javascript/Jquery,javascript,jquery,Javascript,Jquery,如果部分匹配,则无法检索完整字符串 例如: src='当TAtrimg001a.svg为\neq 0$时,表达式$a{\color{blue}{x}}^2+b{\color{blue}{x}}}+c$称为二次型' 搜索“svg”>应返回TAtrimg001a.svg 我试图搜索并找到字符串“svg”。如果“svg”存在,则它应返回TAtrimg001a.svg,不仅返回其位置或单词svg本身,还应返回完整的svg文件名 作为对评论的答复 我尝试用以下不同的方法找到匹配项,但它们确实符合我的要求,

如果部分匹配,则无法检索完整字符串

例如:

src='当TAtrimg001a.svg为\neq 0$时,表达式$a{\color{blue}{x}}^2+b{\color{blue}{x}}}+c$称为二次型'

搜索“svg”>应返回TAtrimg001a.svg

我试图搜索并找到字符串“svg”。如果“svg”存在,则它应返回TAtrimg001a.svg,不仅返回其位置或单词svg本身,还应返回完整的svg文件名

作为对评论的答复

我尝试用以下不同的方法找到匹配项,但它们确实符合我的要求,例如:

var res = str.match(/svg/ig);
var res = str.search("svg");
var res = str.indexOf( "svg" )

使用正则表达式很简单。string
.match
方法接受一个正则表达式并返回:

  • null
    如果不匹配
  • 数组,其中第一个元素是整个匹配字符串,其余元素是各自的捕获组(如果有)
所以在这种情况下,你只需要整个比赛,所以只需要第一个项目就可以了。下面的示例正则表达式只查找以
.svg
结尾的任何非空白字符字符串。您可能想要扩大或收紧它以满足您的确切用例

src='当TAtrimg001a.svg为\neq 0$时,表达式$a{\color{blue}{x}}^2+b{\color{blue}{x}}}+c$称为二次型'
函数findFileName(str,ext){
const match=str.match(新的RegExp(`\\w+\\.${ext}`));
返回匹配项和匹配项[0]
}

log(findFileName(src,“svg”))
与regex一起使用非常简单。string
.match
方法接受一个正则表达式并返回:

  • null
    如果不匹配
  • 数组,其中第一个元素是整个匹配字符串,其余元素是各自的捕获组(如果有)
所以在这种情况下,你只需要整个比赛,所以只需要第一个项目就可以了。下面的示例正则表达式只查找以
.svg
结尾的任何非空白字符字符串。您可能想要扩大或收紧它以满足您的确切用例

src='当TAtrimg001a.svg为\neq 0$时,表达式$a{\color{blue}{x}}^2+b{\color{blue}{x}}}+c$称为二次型'
函数findFileName(str,ext){
const match=str.match(新的RegExp(`\\w+\\.${ext}`));
返回匹配项和匹配项[0]
}

log(findFileName(src,“svg”)
在ES6中,您可以执行类似于
const result=str.endsWith(“.svg”)?str:null
,它将存储在
结果
变量的完整文件名中(如果它以“.svg”部分结尾,换句话说,它具有
svg
格式),或者
null
(如果它没有):

函数checkIsFileOfType(str,fileType){
返回str.endsWith(“.”+文件类型)?str:null;
}
log(checkIsFileOfType(“TAtrimg001a.svD”、“svg”);

log(checkIsFileOfType(“TAtrimg001a.svg”、“svg”)在ES6中,您可以执行类似于
const result=str.endsWith(“.svg”)?str:null
,它将存储在
结果
变量的完整文件名中(如果它以“.svg”部分结尾,换句话说,它具有
svg
格式),或者
null
(如果它没有):

函数checkIsFileOfType(str,fileType){
返回str.endsWith(“.”+文件类型)?str:null;
}
log(checkIsFileOfType(“TAtrimg001a.svD”、“svg”);

log(checkIsFileOfType(“TAtrimg001a.svg”、“svg”)您需要向我们展示您是如何匹配的。请提供明确要求的代码。例如,文件名是否可以包含空格。我尝试用不同的方法找到它,比如var res=str.match(/svg/ig);var res=str.search(“svg”);var res=str.indexOf(“svg”)虽然这条评论很晚,但这里有一个解决方案(示例/应用程序),与公认答案中提供的解决方案没有什么不同:您需要向我们展示您是如何匹配的。请提供明确要求的代码。例如,文件名是否可以包含空格。我尝试用不同的方法找到它,比如var res=str.match(/svg/ig);var res=str.search(“svg”);var res=str.indexOf(“svg”)虽然此评论很晚才发表,但这里有一个解决方案(示例/应用程序),与公认答案中提供的解决方案没有什么不同: