REGEX试图构建一个能够检索单词的第一个字母、该单词的任何其他大写字母以及每个第一个字母(包括同一单词中的任何大写字母)的正则表达式时遇到了麻烦
"WelcomeBack to NorthAmerica a great place to be" = WBTNAAGPTB
"WelcomeBackAgain to NorthAmerica it's nice here" = WBATNAINH
"Welcome to the NFL, RedSkins-Dolphins play today" = WTTNFLRSDPT
尝试使用此JUS获得前2个匹配项:
/([A-Z])|\b([a-zA-Z])/g
欢迎任何帮助,谢谢
可以将regex用作:/\b[a-z]|[A-Z] /g;
<html>
<head>
<title>JavaScript String match() Method</title>
</head>
<body>
<script type="text/javascript">
var str = "WelcomeBack to NorthAmerica a great place to be";
var re = /\b[a-z]|[A-Z]+/g;
var found = str.match( re );
found.forEach(function(item, index) {
found[index] = item.toUpperCase();
});
document.write(found.join(''));
</script>
</body>
</html>
试试这个:
let s = "WelcomeBack to NorthAmerica a great place to be";
s = s.match(/([A-Z])|(^|\s)(\w)/g); // -> ["W","B"," t", " N"...]
s = s.join(''); // -> 'WB t N...'
s = s.replace(/\s/g, ''); // -> 'WBtN...'
return s.toUpperCase(); // -> 'WBT ...'
/(?:([A-Z])|\b(\w))/g
匹配每个大写字母([A-Z])
OR|
字符串开头后面的每个字母(\w)
>或空白\s
。
(由于某种原因,我无法不捕获空格,因此执行了替换
步骤。当然还有更好的技巧,但这是我发现的最具可读性的。)
您需要一个正则表达式,该正则表达式将匹配所有大写字母和出现在字符串开头或空格后的小写字母:
var re = /[A-Z]+|(?:^|\s)([a-z])/g;
var strs = ["WelcomeBack to NorthAmerica a great place to be", "WelcomeBackAgain to NorthAmerica it's nice here", "Welcome to the NFL, RedSkins-Dolphins play today"];
for (var s of strs) {
var res = "";
while((m = re.exec(s)) !== null) {
if (m[1]) {
res += m[1].toUpperCase();
} else {
res += m[0];
}
}
console.log(res);
}
尝试使用正则表达式识别文本数据的结构并遇到障碍。 对于下面的示例文本 Lorem Ipsum只是印刷和排版行业的虚拟文本。自16世纪以来,Lorem Ipsum一直是业界的标准虚拟文本。 我是一个标签-Lorem Ipsum只是打印的虚拟文本 下面的正则表达式选择I AM A HEADER:和I AM A TAB- 请建议进行编辑,以匹配“我是标题”和“我是标签”,并忽略结尾标记“:”和“-”。
我有一个函数,应该把字符串中每个单词的第一个字母大写,但不知何故,它提供了不正确的结果,知道为什么吗?我需要修理一下。 所以输入:hello dolly输出:hello dolly。 空格计算正确,但大写不正确。
我试图编写一个函数,将字符串中每个单词的第一个字母大写(将字符串转换为标题大小写)。 例如,当输入是时,我希望是输出。然而,该函数返回。 这是我的代码:
谁能帮我用一个正则表达式来允许至少一个特殊字符,一个大写字母,一个小写字母。 这是我到目前为止所拥有的: 但它似乎只按“特殊字符”、“大写”、“小写”的顺序匹配字符。 非常感谢您的帮助
问题内容: Java中是否内置了一个函数,该函数可以大写字符串中每个单词的第一个字符,而不会影响其他单词? 例子: jon skeet -> Jon Skeet miles o’Brien-> Miles O’Brien(B仍然是大写字母,这排除了标题大小写) old mcdonald-> Old Mcdonald* (Old McDonald也可以找到,但我不认为它会那么聪明。) 快速浏览一下J