Учитывая строку и число k, обрежьте строку так, чтобы длина строки <= k и вырезка не разбивала слово или не делала новую строку конечной sh с пробелом. </p>
Например, : "доброе утро всем" с k = 15 вернет "доброе утро".
Это мой код
int main() {
string str = "good morning everybody";
int k = 15,i;
for (i = k; i > 0; i--)
if(str[i] == ' ' && (str[i-1] >= 'a' && str[i-1] <= 'z'))
break;
for (int j = 0; j < i; j++)
cout << str[j];
return 0;
}
но мне интересно, есть ли лучший способ сделать это используя регулярные выражения или другие трюки C ++. (Я иду из Python мира).