从最后一个大写字母剪切字符串直到结束

时间:2016-10-15 14:16:13

标签: javascript

我有一个字符串变量,类似" thisMagazineRoomcode"。我需要从" R" - 最后一个大写字母,直到字符串结尾。切片方法并不适合我,因为我有不同的变量,例如" thisMagazineName"或者" thisMagazineSquare"在大写字母后面有不同的字母数量。

4 个答案:

答案 0 :(得分:4)

您可以使用 String#replace 方法。

console.log(
  'thisMagazineRoomcode'.replace(/[A-Z][^A-Z]*$/, '')
);

答案 1 :(得分:1)

您可以使用RegExp.exec()或String.match()

properties->java build path->projects

这会输出一个数组,但是如果你需要它作为一个字符串,你可以做类似的事情:

SELECT constraint_name,
       constraint_type,
       search_condition,
       r_constraint_name,
       delete_rule,
       status
FROM   user_constraints 

在一个函数中。

答案 2 :(得分:0)

试试这个

/** check whether the input is capital letter or not
*/
function isCapitalLetter(c) {
  return c >= 'A' && c <= 'Z'
}

/** revert string */
function revertString(str) {
  return str.split('').reverse().join('')
}

/** cut last capital letter till the end */
function cutLastWord(str) {
  const revertStr = revertString(str)
  
  for (let i = 0; i < revertStr.length; i++) {
    if (isCapitalLetter(revertStr[i])) {
      const revertResult = revertStr.substr(0, i + 1)
      const result = revertString(revertResult)
      console.log(result)
      break
    }
  }
}

/** run sample data */
cutLastWord('HelloWorld') // World
cutLastWord('Hello') // Hello
cutLastWord('IAmHero') // Hero

答案 3 :(得分:0)

这是完成这项工作的功能

function cutStr(str) {
            var regex = /[A-Z][^A-Z]*$/;
            return str.split(regex).join('');
        }

console.log(cutStr('thisIsRedmond')); // output 'thisIs'