动态切弦

时间:2018-09-23 23:06:11

标签: javascript node.js string

好的,所以我有一个带有可变前缀的文件路径...

C:\ Users \ susanivey \ Documents \ VKS Projects \ secc-electron \ src \ views \ main.jade

...现在,无论我在使用哪种计算机,此路径都将有所不同...

有没有一种方法可以遍历字符串说“ secc-electron \”,并将其以及之前的所有内容都保留下来,然后保留呢?我熟悉将字符串转换为数组以处理定界符中包含的元素的方法,但是这是我尚未想出的答案……是否会有某种正则表达式解决方案呢?我对regex不太满意,所以我不知道从哪里开始...

4 个答案:

答案 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,然后从返回的对象中检索您感兴趣的零件。