从 C 中的字符串中去除空格和换行符
我有一些这样的输入:
" aaaaa bbb \n cccccc\n ddddd \neeee "
我需要像这样清理它:
"aaaaa bbb cccccc ddddd neeee"
基本上:
- 修剪字符串开头和结尾的所有空格
- 删除所有新行
- 当有多个空格时删除所有空格,但始终在之间留一个空格有
没有简单的方法可以做到这一点,或者我必须逐个字符地处理字符串并将适当的字符复制到不同的变量?
I have some input like this:
" aaaaa bbb \n cccccc\n ddddd \neeee "
And I need to sanitize it like this:
"aaaaa bbb cccccc ddddd neeee"
Basically:
- Trim all blank spaces at the beginning and end of the string
- Strip all new lines
- Strip all spaces when there is more than one, but always leave ONE space between words
Is there any easy way to do this or I'll have to process the string, char by char and copy the appropriate chars to a different variable?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
假设您无法就地修改字符串,
Assuming you cannot modify string in place,
您可以使用 strtok 对字符串进行词法标记,并用“ \r\n\t”分隔。
这将使您的工作更加轻松。
You could use strtok to lexically tokenize the string, delimit with " \r\n\t".
This will make your job easier.