好的,所以我有一个带有可变前缀的文件路径...
C:\ Users \ susanivey \ Documents \ VKS Projects \ secc-electron \ src \ views \ main.jade
...现在,无论我在使用哪种计算机,此路径都将有所不同...
有没有一种方法可以遍历字符串说“ secc-electron \”,并将其以及之前的所有内容都保留下来,然后保留呢?我熟悉将字符串转换为数组以处理定界符中包含的元素的方法,但是这是我尚未想出的答案……是否会有某种正则表达式解决方案呢?我对regex不太满意,所以我不知道从哪里开始...
答案 0 :(得分:3)
您可能想要做一个分割(是否使用正则表达式):
这是一个例子:
HasTimestamps
您可以查看此https://www.w3schools.com/jsref/jsref_split.asp,以了解有关此功能的更多信息。
答案 1 :(得分:1)
您可以在特定位置分割字符串,然后返回结果数组的第二部分:
var string = "C:\Users\susan ivey\Documents\VKS Projects\secc-electron\src\views\main.jade"
console.log('string is: ', string)
var newArray = string.split("secc-electron")
console.log('newArray is: ', newArray)
console.log('newArray[1] is: ', newArray[1])
答案 2 :(得分:1)
使用Regex,您可以执行以下操作:
var myPath = 'C:\Users\susan ivey\Documents\VKS Projects\secc-electron\src\views\main.jade'
var relativePath = myPath.replace(/.*(?=secc-electron)/, '');
正则表达式为:
.*(?=secc-electron)
它匹配不超过'secc-electron
'的任何字符。调用replace
时,它将返回路径的最后一部分。
答案 3 :(得分:0)
或者,您可以使用path.parse(path)
; https://nodejs.org/api/path.html#path_path_parse_path,然后从返回的对象中检索您感兴趣的零件。