字符串大小写转换 字符串大小写转换使用函数
let originalString = "Hello, World!";
let mixedCaseString = originalString.toUpperCase().toLowerCase(); // 实际上是多余的,因为结果和原始字符串的小写形式相同
console.log(mixedCaseString); // 输出: hello, world!
// 条件转换示例
function toggleCase(str) {
return str === str.toUpperCase() ? str.toLowerCase() : str.toUpperCase();
}
printl(toggleCase("HELLO")); // 输出: hello
printl(toggleCase("hello")); // 输出: HELLO
定义了一个原始字符串originalString,其值为"Hello, World!"。
然后,创建了另一个变量mixedCaseString,它通过将originalString转换为大写后再转换为小写来赋值。实际上,这段代码中的toUpperCase().toLowerCase()是多余的,因为一个字符串先转换为大写再转换为小写,结果总是该字符串的小写形式。因此,mixedCaseString的值与originalString的小写形式相同,即"hello, world!"。最后,使用console.log输出了mixedCaseString的值。
接下来的代码定义了一个函数toggleCase,用于切换字符串中字符的大小写。函数接受一个字符串参数str,并检查该字符串是否等于其大写形式。如果是,则返回该字符串的小写形式;如果不是,则返回该字符串的大写形式。
最后,调用了toggleCase函数两次,分别传入全大写的"HELLO"和全小写的"hello",并尝试使用printl输出结果。但是注意,在JavaScript中,正确的输出函数应该是console.log而不是printl,因此正确的调用方式应该是:
// 示例字符串
let exampleString = "Hello, World! This is a Test. Let's see: how it works; now.";
// 函数:切换每个单词的大小写
function toggleWordCase(str) {
// 使用正则表达式匹配每个单词
return str.replace(/\b([a-zA-Z]+)\b/g, function(match) {
// 如果整个单词是大写的,则转换为小写
if (match === match.toUpperCase()) {
return match.toLowerCase();
} else {
// 否则,将单词转换为大写
return match.toUpperCase();
}
});
}
// 输出结果
console.log(toggleWordCase(exampleString));
// 输出: "hELLO, wORLD! tHIS iS A tEST. lET'S sEE: hOW iT wORKS; nOW."
我们使用String.prototype.split('')将字符串拆分为单个字符的数组,然后使用Array.prototype.map()方法遍历每个字符。对于每个字符,我们检查它是否为大写字母(在’A’到’Z’之间),如果是,则将其转换为小写;如果它为小写字母(在’a’到’z’之间),则将其转换为大写。对于非字母字符,我们直接返回它们,保持不变。最后,使用Array.prototype.join('')将字符数组重新组合成一个字符串。
这样就实现了字符串中每个字符大小写的切换,同时保留标点符号和其他非字母字符的位置不变。
欢迎光临 B2B网络软件 (http://bbs.niubt.cn/) | Powered by Discuz! X3.2 |