したがって、文字列の最初の文字と最後の文字の間の文字に技術的にインデックスを付け、内部をスクランブルしてから最初と最後の文字を追加する関数があります。句読点のある単語が厄介になることに気付くまでは、うまく機能します。句読点を同じインデックスにとどめたいのですが、そうする方法についてのアイデアはありますか?
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;
}
}