我已經設置了一個Pig Latin拉丁轉換程序,可以設置單個或多個字符串,但不能標點符號。如何從字符串的開頭或中間移動標點符號到結尾
正因爲如此,translatePigLatin("Pig Latin");
返回'Igpay Atinlay'
,因爲它應該,但translatePigLatin("Pig Latin.");
回報'Igpay Atin.lay'
,在一個單詞中間煩人的時期。我如何讓它返回'Igpay Atinlay.'
?
功能是:
function translatePigLatin(string) {
var arr = string.split(' ');
var str;
for (var i = 0; i < arr.length; i++) {
var j = 0;
if (!/[\d]/.test(arr[i])) {
while (/[^aeiou]/i.test(arr[i][j])) {
j++;
}
if (j > 0) {
arr[i] = arr[i].slice(j) + arr[i].slice(0, j) + 'ay';
} else {
arr[i] = arr[i] + 'way';
}
}
if (/[A-Z]/.test(arr[i])) {
arr[i] = toTitleCase(arr[i]);
}
}
return arr.join(' ');
}
function toTitleCase(str) {
return str.replace(/\w\S*/g, function(txt) {
return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();
});
}
collect +從輸入字符串中刪除所有非alpha字符,然後在例程的末尾追加那些非alpha字符到字符串末尾。 – marcusshep
@marcusshep我不明白這就是我需要做的,但我在正確地做到這一點時遇到了麻煩。 – alton1231
你明白了,我相信你。 – marcusshep