我有一个字符串,其中有可能的代码,我想替换为空白
范例-
输入= 9eac83a4-80f4-4a2e-b0fe-7a4a9329ff62Manual Handling.pdf
我想要的输出= Manual Handling.pdf
输入= 14a19827-8f33-4666-a3cc-ea257875f1f7Fire&Evac.pdf
我想要的输出= Fire&Evac.pdf
输入= 67a89d74-57a9-43cc-9576-001f9315d292BLS-1.pdf
我想要的输出= BLS-1.pdf
输入= 7622a004-43b8-4357-8c95-c8a269e6ef7827276e859ef10d-Mango Super.pdf
我想要的输出= Mango Super.pdf
输入= d5b0f745aa80d9- Calc.png
我想要的输出= Calc.png
输入= d5b0f745aa80d9980d090- Covid-19-Test.png
我想要的输出= Covid-19-Test.png
输入= d5b0f745aa80d9980d090-2a004-43b8-4357-8 Covid-19 Vacc.png
我想要的输出= Covid-19 Vacc.png
我该怎么做?
我试过这个正则表达式,但不适用于上面所有的情况
var str = "9eac83a4-80f4-4a2e-b0fe-7a4a9329ff62Manual Handling.pdf";
var cleanStr = str.replace(/[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12}/g, "");
有人能帮我吗?
2条答案
按热度按时间mfuanj7w1#
这将有助于:
const data =
9eac83a4-80f4-4a2e-b0fe-7a4a9329ff62Manual Handling.pdf 14a19827-8f33-4666-a3cc-ea257875f1f7Fire&Evac.pdf 67a89d74-57a9-43cc-9576-001f9315d292BLS-1.pdf 7622a004-43b8-4357-8c95-c8a269e6ef7827276e859ef10d-Mango Super.pdf d5b0f745aa80d9- Calc.png d5b0f745aa80d9980d090- Covid-19-Test.png d5b0f745aa80d9980d090-2a004-43b8-4357-8 Covid-19 Vacc.png
;const pattern = /.?(?=[A-Z].$)/;
data.split(/\n/).forEach(e => console.log(e.replace(pattern, "")));
tzxcd3kk2#
简单模式
/[a-f\d-]{14,} */
适用于您的所有案例:如果这会给其他字符串带来误报,那么有必要对前缀id格式进行更明确的规范。