#C/C++#は、不規則な文字列の2つの二重引用符(他の記号)の間の内容を抽出することを実現する
C言語実装:
C++実装:
何か問題があったり、もっと良い方法があったりして、討論を歓迎して、ありがとうございます!!!
int main()
{
char source[100] ={
"\how are you = "nihao\""};
char dest[100] = {
0};
int i,j,flag;
while(source != '\0')
{
if(flag ==0 && source[i] == '\"')
{
flag = 1;
}
else if(flag == 1 && source[i] == '\"')
{
dest[i] == '\0';
//printf("%s
",dest);
}
else if(flag == 1 && source[i] != '\"')
{
dest[j++] = source[i];
}
i++;
}
printf("dest = %s
",dest);
return 0;
}
// , ,
int main()
{
char source[100] = {
"how are you = \"nihao\""};
char dest[100] = {
0};
int i;
sscanf(source,"%*[^\"]"\%[^\"]",dest); //
printf("dest = %s
",dest);
return 0;
}
C++実装:
// , ,
int main()
{
string source = "how are you = \"nihao\"";
int pos_1 = source.find("\"");
int pos_2 = source.find_last_of("\"");
string dest = "";
dest = source.substr(pos_1 + 1 ,pos_2 - pos_1 - 1);
//substr(t1,t2) // : t1 t2
cout<<"dest = " <<dest<<endl;
}
何か問題があったり、もっと良い方法があったりして、討論を歓迎して、ありがとうございます!!!