Я хочу написать программу на с ++, которая получит предложение и вставит пробел между каждым словом и пунктуацией в нем! в сценарии sed это делается с помощью следующего выражения:
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"
Но я не знаю, как мне это сделать на C ++ в Windows!
например: следует преобразовать «Вопрос сейчас: может ли он вести себя как жестко заряженный Тедди Рузвельт». должен быть преобразован в «Вопрос сейчас: может ли он вести себя как жестко заряженный Тедди Рузвельт».
Таким образом, пунктуация, такая как «-» или, например, «.» в "нет" не должно быть пробелом в предложении, но должны быть помещены другие знаки препинания, не основанные на слове или фразе.