反转字符串的第一个字母大写?JavaScript

Capitalizing the first letter of reversed string?JavaScript

本文关键字:JavaScript 字符串 第一个      更新时间:2023-09-26
  • 颠倒句子。("你好吗?"(到("你怎么样?"(

1( 如何保持问号在原地,而不是用"你"来反问。

2( 我如何只让句子的第一个字母大写(You(。

这就是我所做的反转,先把它变成一个数组。是否可以通过不创建任何功能来实现上述问题?,只是为了简单起见。

var str1 = "how are you?";  document.write(str1.split(" ").reverse().join(" "));

假设您只想保留某些标点符号,如任何.!?:

function reverseSentences(sentence) {
  return sentence
    .trim()
    .toLowerCase()
    .split(/([.!?]+'s*)/) // split around ending punctuation
    .map(function(part, index) {
      return index % 2 === 0 // even indexes contain sentences, odd is punctuation
        ? capitalize(part.split(' ').reverse().join(' '))
        : part
    })
    .join('');
}
function capitalize(str) {
  return str.charAt(0).toUpperCase() + str.slice(1);
}
console.log(reverseSentences("How are you? That's good."));

您可以尝试像这样的简单函数

function revStr(val, mark) {   
   var qmIdx = val.indexOf(mark);
   var tmp = val.substring(0, qmIdx);
   var rev = tmp.split(" ").reverse().join(" ").toLowerCase();
   return rev.charAt(0).toUpperCase() + rev.slice(1) + mark;
}
revStr("How are you?", "?"); // You are how?