【发布时间】:2021-06-23 06:52:13
【问题描述】:
我正在尝试为 JavaScript 编写正则表达式。
我有文件夹的文件名,我需要从 git 更改中合并它们。 例如 输入:
"9 1 {Folder_Old => Folder}/FileTest1.cs"
"0 9 File{a => t}est2.cs"
"- - F{a => i}leT{b => e}st.d{c => l}l"
"9 1 {test/File.cs => test/File1.cs}"
每行的预期输出:
"9 1 Folder/FileTest1.cs"
"0 9 Filetest2.cs"
"- - FileTest.dll"
"9 1 test/File1.cs"
这是我迄今为止尝试过的:
var myentry = '9 9 {Folder_Old => Folder}/FileTest1.cs'
//find { A => B }
//replace { A => B } with B
let result = myentry.match(/{.+=>.+}/g);
console.log(result[0]) //"{Folder_Old => Folder}"
result[0] = result[0].replace('{', '')
result[0] = result[0].replace('}', '')
console.log(result[0]) //"Folder_Old => Folder"
var me = result[0].split(' ')
console.log(me) //["Folder_Old", "=>", "Folder"]
var he = myentry.replace(/{.+=>.+}/g, me[2])
console.log(he) //"9 9 Folder/FileTest1.cs"
如何更改我的算法以涵盖所有情况?
【问题讨论】:
标签: javascript regex path filenames