Je veux écrire un programme en C++ qui obtient une phrase et insère un espace entre chaque mot et la ponctuation dedans! dans le script sed cela se fait avec cette expression:Comment séparer les ponctuations dans une phrase avec un espace entre chaque phrase et la ponctuation en C++?
sed -e "s/,\([^0-9]\)/ , \1/g" -e "s/\.\([^0-9]\)/ . \1/g" -e 's/\.[ ]*$/ ./g' -e "s/\'/ \' /g" -e 's/?/ ?/g' -e 's/\`\`/ `` /g' -e "s/\' \'/''/g" -e 's/(/ (/g' -e 's/)/) /g' -e 's/ \. \([^$]\)/. \1/g' -e "s/\' s/\'s/g" -e "s/\"\([^\"]*\)\"/\" \1 \"/g" $1 | sed -e "s/\"\([^\"]*\)\"/\`\`\1''/g"
Mais je ne Khow pas comment je devrais le faire en C++ sous Windows! par exemple: devrait convertir un "La question maintenant: Peut-il agir plus comme dur-charge Teddy Roosevelt." doit être converti en "La question maintenant: Peut-il agir plus comme Teddy Roosevelt." Donc une ponctuation telle que '-' ou par exemple un '.' dans "Non" ne devrait pas espacer dans une phrase, mais d'autres signes de ponctuation qui ne reposent pas sur un mot ou une phrase devraient être espacés.
C'est 'sed', pas' Perl' – Zaid