繁体   English   中英

大写反向字符串的首字母?JavaScript

[英]Capitalizing the first letter of reversed string?JavaScript

  • 将句子(“你好吗?”)改为(“你好吗?”)

1)如何将问号保留在原处,而不是用“ you”反转。

2)我如何只使句子的首字母大写(您)。

这是我通过将其首先设置为数组来进行反向操作的方法。 仅出于简化目的,是否可以通过不创建任何功能来解决上述问题?

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?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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