[英]How to find position of all uppercase characters in string?
如何在 jquery 中获取字符串中所有大写字符的位置?
假设var str = "thisIsAString";
答案是 4,6,7(t 位于索引 = 0)
遍历字母并将它们与正则表达式匹配。 例如
var inputString = "What have YOU tried?";
var positions = [];
for(var i=0; i<inputString.length; i++){
if(inputString[i].match(/[A-Z]/) != null){
positions.push(i);
}
}
alert(positions);
您可能希望使用正则表达式来匹配适当的字符(在本例中为[AZ]
或类似字符)并遍历匹配项。 类似的东西:
// 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 = /[AZ]/g; var str = "abCdeFghIjkLmnOpqRstUvwXyZ"; var match; while ((match = rex.exec(str)) !== null) { log("Found " + match[0] + " at " + match.index); }
<ol id="results"></ol>
这将遍历字符串,匹配每个大写字符,并(在示例中)将其添加到列表中。 您可以轻松地将其添加到数组或将其用作函数的输入。
这与在MDN 示例中为RegExp.exec
提供的技术相同,并且匹配提供了一些额外的数据。 您还可以使用更复杂的正则表达式,这种技术应该仍然有效。
简单地使用match()
。 例子:
var str = 'thisIsAString';
var matches = str.match(/[A-Z]/g);
console.log(matches);
伪代码(时间不多)
var locations = [];
function getUpperLocs(var text = ''){
for(var i = 0;i == check.length();i++)
{
if(checkUpper(text){
locations.push(i)
}
}
function checkUppercase(var str = '') {
return str === str.toUpper();
}
}
好吧,没有太多的伪代码,但可能有一些语法错误..
javascript中的一个简单解决方案:)
index = paragraph.match(/[A-Z]/g).map(function (cap) {
return paragraph.indexOf(cap);
});
希望这可以帮助遇到此问题的任何人
这应该有效。
function spinalCase(str) {
let lowercase = str.trim()
let regEx = /\W+|(?=[A-Z])|_/g
let result = lowercase.split(regEx).join("-").toLowerCase()
return result;
}
spinalCase("thisIsAString");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.