【发布时间】:2021-05-08 18:05:57
【问题描述】:
如果我想把它变成 4 个单词,我该如何处理这个字符串。如果我使用 sscanf ,它会将“面罩”一词分成两部分。或者可以以某种方式使用 sscanf 来防止这种情况发生?
输入:
2021-01-01 2021-7-1 'Face masks' "Wear everywhere"
2000-08-05 2010-8-8 LOCKDOWN 'xxxxx'
输出:
2021-01-01
2021-7-1
'Face masks'
"Wear everywhere"
....
【问题讨论】:
-
您可以使用
%[^'\"]来匹配不包含引号的字符串。 -
但如果引号是可选的,这将不起作用。
scanf()不是通用解析器。听起来您需要编写代码来识别所有不同的可能格式。 -
如果允许修改字符串,可以先用空格替换引号。
-
@Devolus:如果你这样做,你就无法分辨第三个单词在哪里结束,第四个单词从哪里开始:)
-
啊,我误会了。