1)如何将问号留在原位而不是用“你”反转。
2)我如何只使用句子的第一个字母(你)。
这是我通过首先将其转换为数组而做出的反转。是否可以通过不创建任何函数来实现上述问题?仅仅是为了简单起见。
var str1 = "how are you?"; document.write(str1.split(" ").reverse().join(" "));
答案 0 :(得分:3)
假设您只想保留某些标点符号,例如.!?
中的任何标点符号:
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."));
答案 1 :(得分:0)
您可以尝试这样的简单功能
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?