在这种情况下如何使用JavaScript句子大小写?

时间:2019-02-27 11:21:59

标签: javascript

在网上,在简化的情况下,我只看到标题大小写,小写和大写。

我有一个不同的问题...

“您不是预期的收件人。您不是预期的收件人。您不是预期的收件人。”

我需要将“意图的”转换为“意图的”,因为句子的其余部分为大写。并且“打算”变成小写,因为句子的其余部分都是小写。

编辑: 我需要一个通用的解决方案,确定一个句子的大小写并将其规范化。我需要在字符串中使用特殊字符,例如“ñ”或“ä”。

我正在使用没有 jQuery的JavaScript。

2 个答案:

答案 0 :(得分:0)

如果我们可以假设您的整个字符串仅包含大写或小写字母,则可以执行类似的操作。

这不是完美的解决方案,但可以给您一个想法:

var upper = "YOU ARE NOT THE INTENDED RECIPIENT. YOU ARE NOT THE intended RECIPIENT";
var lower = "you are not the intended recipient. you are not the INTENDED recipient";

function normalize(sentence) {
    if (sentence[0] === sentence[0].toUpperCase()) {
        return sentence.toUpperCase();
    }
    if (sentence[0] === sentence[0].toLowerCase()) {
        return sentence.toLowerCase();
    }
}

console.log(normalize(upper));
console.log(normalize(lower));

返回

YOU ARE NOT THE INTENDED RECIPIENT. YOU ARE NOT THE INTENDED RECIPIENT
you are not the intended recipient. you are not the intended recipient

答案 1 :(得分:0)

var str1 = "You are not the Intended recipient.";
var str2 = "YOU ARE NOT THE intended RECIPIENT.";

function convert(str) {
  var flag = str.startsWith('You') || str.startsWith('you')
  if(flag) {
  // If starting with You return You else return you
    return str.substring(0,3) + str.substring(3).toLowerCase();
  } else {
    return str.toUpperCase();
  }

}

console.log(convert(str1));
console.log(convert(str2));