Javascript 如果前面的最后一个字是数字,则删除字符串的最后一个字,并增加数字-JS
我有一个字符串,如果前一个单词是数字,我需要删除字符串的最后一个单词,然后增加数字。如果前面的最后一个单词不是数字,我们将继续检查,直到出现相同的单词,并将计数与单词一起抛出。这是一个扩展-后一部分正在工作。无法使第一个示例正常工作。请给我一些建议 例如:Javascript 如果前面的最后一个字是数字,则删除字符串的最后一个字,并增加数字-JS,javascript,regex,Javascript,Regex,我有一个字符串,如果前一个单词是数字,我需要删除字符串的最后一个单词,然后增加数字。如果前面的最后一个单词不是数字,我们将继续检查,直到出现相同的单词,并将计数与单词一起抛出。这是一个扩展-后一部分正在工作。无法使第一个示例正常工作。请给我一些建议 例如: 模型传输2传输-模型传输3//预期输出 模型传输-模型传输3//预期输出 模型传输-模型传输4//预期输出 模型传输-模型传输//预期输出 模型-模型//预期输出 var name=“模型转移2转移”; const name1='模型传输模
var name=“模型转移2转移”;
const name1='模型传输模型传输';
const name2='模型传输';
const name3='模型传输';
const name4=‘模型传输’;
常量renameNameOccurrence=(
名称
发生名称
) => {
var regExp=新的regExp(`(?1){
for(设i=0;i1){
modifiedName=名称
.replace(新的RegExp(`s*${occurrenceName}\\s*`,“gi”),“”)
.concat(`${occurrenceName.toLowerCase()}${occurrenceCount}`);
}否则{
modifiedName=名称;
}
}否则{
modifiedName=名称;
}
}
}否则{
modifiedName=名称;
}
返回modifiedName;
};
console.log('name',renameNameOccurrence(name,'transfer'));//模型传输3
console.log('name1',renameNameOccurrence(name1,'transfer');//模型传输模型传输
log('name2',renameNameOccurrence(name2,'transfer'));//模型传输3
log('name3',renameNameOccurrence(name3,'transfer'));//模型传输3
console.log('name4',renameNameOccurrence(name4',transfer');//Model transfer 3
此解决方案依赖于按字分割和迭代方法来计算transfer
的实例。它还检测最后一个字之前是否有整数,如果是,则按照下面代码中所述处理该情况:
var name=“模型转移2转移”;
const name1='模型传输模型传输';
const name2='模型传输';
const name3='模型传输';
const name4=‘模型传输’;
常量renameNameOccurrence=(名称,发生名称)=>{
//按小写字母拆分
设s=name.toLowerCase().split(“”)
//现在数一数“转移”字
设t=0;
对于(变量i=0;i1){//不包括假定的第一个单词模型
if(parseInt(s[w]).toString()==s[w]){
t++;//递增传输字,因为计数是一致的
log(“你好”)
}
}
//现在重新组合字符串
如果(t>1){
返回名称。拆分(“”[0]+“转移”+t
}
else如果(t>0){
返回名称。拆分(“”[0]+“传输”
}
否则{
返回名称。拆分(“”[0]
}
}
/*
模型传输2传输-模型传输3//预期输出
模型传输-模型传输3//预期输出
模型传输-模型传输4//预期输出
模型传输-模型传输//预期输出
模型-模型//预期输出
*/
console.log(重命名nameNameOccurrence(“模型传输2传输”))
log(重命名为“模型传输”))
日志(重命名为“模型传输”))
console.log(重命名nameNameOccurrence(“模型传输”))
console.log(renameNameOccurrence(“Model”)
这是您上一个问题的新版本吗?:)您能在您的示例中包含所需输入和所需输出的示例吗question@epascarello是的,一个enhancement@GetSet添加了有助于更清楚地看到事物的输入和输出符号。如果您对此感兴趣,可以使用一种更迭代的方法来解决这个问题,而不使用正则表达式?我们可以在函数中硬编码Model关键字吗。这个函数对于任何字符串都应该是可重用的。你可以随时去掉它。它不必返回“Model”。至于可重复使用的任何字符串,我不知道你的意思。我只是举了你的例子,对不起。它可以是名称转移2转移,甚至是什么转移。谢谢。成功了。我错过了一个场景。如果字符串后面没有“transfer”和“transfer”,我们应该返回原始字符串。例如:“模型传输模型传输”应该返回“模型传输模型传输”是的,这稍微改变了算法