我真的需要您的帮助,因为这远远超出了我的javascript编码能力。
我想设计一个函数来完成以下两种情况之一:
如果字符串var'fileno'的末尾没有破折号和数字,则重写字符串fileno并在其末尾添加破折号和计数。
var fileno ='测试'
var c = 4
fileno ='test-4'
如果字符串中已经有破折号和数字,则将破折号替换为下面的新信息:
var fileno ='test-2'
var c = 3
fileno ='test-3'
最佳答案
您可以对String.prototype.replace()
使用正则表达式:
fileno = fileno.replace(/-\d+$|$/, '-' + c);
它的字面意思是:用
-{number}
替换字符串末尾的-{c}
或什么都不是。var c = 3;
console.log( 'test'.replace(/-\d+$|$/, '-' + c) );
console.log( 'test-4'.replace(/-\d+$|$/, '-' + c) );