我有一个字符串形式的系统路径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。
答案 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);