匹配文件路径的字符串url中的特定单词

时间:2018-06-28 12:30:40

标签: javascript regex

我有一个字符串形式的系统路径URL,必须从中找到特定的关键字“ System”。我该如何实现?通过正则表达式或其他任何方式。

var key = "System";
var url = "/System/Library/PrivateFrameworks/PhotoLibrary.framework/Versions/A/XPCServices/com.apple.PhotoIngestService.xpc/Contents/MacOS/com.apple.PhotoIngestService";

现在url中有单词“ System”。我需要一个检测网址中密钥的函数。如果存在,则返回true。

3 个答案:

答案 0 :(得分:-1)

无需正则表达式。

    var key = "System"
    var url = "/System/Library/PrivateFrameworks/PhotoLibrary.framework/Versions/A/XPCServices/com.apple.PhotoIngestService.xpc/Contents/MacOS/com.apple.PhotoIngestService"
    var exists = url.contains(key)  //returns true

    var exists2 = url.indexOf(key) !== -1   //returns true

答案 1 :(得分:-1)

您可以使用indexOf(),返回该字符串在另一个字符串中的位置。如果找不到,它将返回-1。

var key = "System";
var url = "/System/Library/PrivateFrameworks/PhotoLibrary.framework/Versions/A/XPCServices/com.apple.PhotoIngestService.xpc/Contents/MacOS/com.apple.PhotoIngestService";
var isExists = url.indexOf(key) !== -1;
console.log(isExists);

答案 2 :(得分:-1)

最好的方法是使用返回{strong> true 或 false (不是索引)的includes(),我认为这样做更清晰,更可维护。

但是我们可以看到here,但IE现在不支持它。 Here是MDN制造的Polyfill。

关于includes()indexOf()之间的区别,您可以阅读this

这里是一个例子:

var key = "System";
var url = "/System/Library/PrivateFrameworks/PhotoLibrary.framework/Versions/A/XPCServices/com.apple.PhotoIngestService.xpc/Contents/MacOS/com.apple.PhotoIngestService";

var isPresent = url.includes(key);

console.log(isPresent);