繁体   English   中英

如何找到字符串中所有大写字符的位置?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM