查找句子以(数字)结尾

时间:2017-04-12 09:58:31

标签: javascript regex

使用Javascript我想找到天气,文本以Open括号数字括号括起来.NewFolder(0),NewFolder(1)等等。

找到后我希望将数字增加1像Newfolder(0)到Newfolder(1),NewFolder(1)增加到NewFolder(2)。

3 个答案:

答案 0 :(得分:0)

只需使用substring(),一旦获得所需的字符串,就可以使用replace()方法替换它。检查这两种方法,然后应用您想要的逻辑。

答案 1 :(得分:0)

你可以试着找到这样的:

var str = "NewFolder (0)"; 
var res = str.match('\(\d\)');

if(res[0]) {
   console.log('ends with (numeric)');
}

答案 2 :(得分:0)

这是一个简单的函数,它将告诉您是否需要重命名

folderHasParenthesesAndNumber = (folder) => {
    return folder.match(/\(\d+\)$/) != null
} // returns true if it matches, and false if it doesn't

使用正则表达式匹配提供的字符串末尾的括号之间的数字。

要重命名,我将为它提供一个骨架:

if(folderHasParenthesesAndNumber(folder) === true){
   // Do the rename
}

修改

以下是获取新文件夹名称的方法:

newFolderName = (folder) => {
    let incrementNumber = Number(folder.match(/\((\d+)\)$/)[1]) + 1;
    return folder.replace(/\(\d+\)$/, "("+incrementNumber+")")
}; // returns folder name, with the + 1

要查看它正在运行,请参阅下面的代码:

folder = "input(1)";

folderHasParenthesesAndNumber = (folder) => {
  return folder.match(/\(\d+\)$/) != null;
};
newFolderName = (folder) => {
  let incrementNumber = Number(folder.match(/\((\d+)\)$/)[1]) + 1;
  return folder.replace(/\(\d+\)$/, "(" + incrementNumber + ")")
};

if (folderHasParenthesesAndNumber(folder) === true) {
  console.log(newFolderName(folder))
}