// Log results to the list
var list = document.getElementById("results");
function log(msg) {
var item = document.createElement("li");
item.innerHTML = msg;
list.appendChild(item);
}
// For an input, match all uppercase characters
var rex = /[A-Z]/g;
var str = "abCdeFghIjkLmnOpqRstUvwXyZ";
var match;
while ((match = rex.exec(str)) !== null) {
log("Found " + match[0] + " at " + match.index);
}
function spinalCase(str) {
let lowercase = str.trim()
let regEx = /\W+|(?=[A-Z])|_/g
let result = lowercase.split(regEx).join("-").toLowerCase()
return result;
}
spinalCase("thisIsAString");
//Your string
const string = "Hello World"
//Splitting string's letters into an array
const stringToArray = string.split("")
//Creating an empty array where you are going to hold your upperCase
indexes
const upperCaseIndexes = []
stringToArray.map((letter,index) => {
//Checking if the letter is capital and not an empty space
if(letter === letter.toUpperCase() && letter != " ") {
//Adding the upperCase's index into the array that hold the indexes
upperCaseIndexes.push(index)
}
})
console.log(upperCaseIndexes)
//You can use the this array to do something with the upperCase letter
//Example
let newString;
upperCaseIndexes.forEach(e => {
stringToArray.splice(e,1, string[e].toLowerCase())
newString = stringToArray.join('')
})
7条答案
按热度按时间4dc9hkyq1#
遍历这些字母并将它们匹配到正则表达式。举个例子
kadbb4592#
简单地凸轮使用
match()
。示例:gmxoilav3#
您可能希望使用正则表达式来匹配适当的字符(在本例中为
[A-Z]
或类似的字符),并在匹配项上循环。沿着如下的东西:这将遍历字符串,匹配每个大写字符,并(在本例中)将其添加到列表中。您可以轻松地将其添加到数组中或将其用作函数的输入。
这与
RegExp.exec
的MDN example中给出的技术相同,匹配提供了一些额外的数据。您还可以使用更复杂的正则表达式,这种技术应该仍然有效。wyyhbhjk4#
一个简单的JavaScript解决方案:)
希望这能帮助任何遇到这个的人
ctehm74n5#
这个应该能用
unftdfkk6#
有个办法
slsn1g297#
伪代码(时间不多)
好吧,没有太多的伪代码,但可能有一些语法错误..