所以我有一个函数,它在技术上索引字符串中第一个和最后一个字符之间的字符,在里面打乱,然后重新添加第一个和最后一个字母。它工作得很好,直到我意识到带有标点符号的单词使它变得古怪。我希望标点符号保持在同一个索引中,关于如何去做的任何想法?
string shuffle_word(string word){
string scramble_str = "", full_scramble = "";
if(word.length() > 2){
scramble_str += word.substr(1, word.length()-2); //indexes the inside string (excludes first and last char)
random_shuffle(scramble_str.begin(), scramble_str.end());
full_scramble = word[0] + scramble_str + word[word.length()-1]; //adds first and last char back on
return full_scramble;
}
else{
return word;
}
}