我會建議使用strtok
使用逗號作爲字段分隔符。但是,如果字符串中的第一個字符是雙引號,則應該使用"
作爲字段分隔符。
如果我認爲你表現出是一個struct
,我寫在C代碼打印在單獨的行輸出:
#include <stdio.h>
#include <string.h>
int main()
{
char str[] = "0,1,\"foo\",\"blue,yellow,red\",27";
printf ("Input string: %s\n", str);
char * substr;
char * str_itr = str;
char comma[] = ",";
char quote[] = "\"";
substr = strtok (str_itr, comma);
if (substr)
printf ("%s\n", substr);
substr = strtok (NULL, comma);
if (substr)
printf ("%s\n", substr);
substr = strtok (NULL, quote);
if (substr)
printf ("%s\n", substr);
substr = strtok (NULL, quote);
substr = strtok (NULL, quote);
if (substr)
printf ("%s\n", substr);
substr = strtok (NULL, comma);
if (substr)
printf ("%s\n", substr);
return (0);
}
你忘了標記您所使用的編程語言。 –
對不起,我只是修改我的問題,說我沒有使用任何特定的語言。因此,只要他們顯示理論,任何語言的答案都會做。 –
[正則表達式應該可以重複分割,包含在CSV文件的雙引號之外?](http://stackoverflow.com/questions/1603096/regular-expression-should-split-that-are-contained-外雙引號-i) –