私が持っているとしましょう
string1 = "DDD DXXXX"
string2 = "DDXXXX"
string3 = "DXXXX"
XXXXを常に抽出したい場合、Cでの最良の方法は何ですか? substr、strncpy、strndup すべてに開始位置が必要です。
正規表現が唯一のオプションですか?
私が持っているとしましょう
string1 = "DDD DXXXX"
string2 = "DDXXXX"
string3 = "DXXXX"
XXXXを常に抽出したい場合、Cでの最良の方法は何ですか? substr、strncpy、strndup すべてに開始位置が必要です。
正規表現が唯一のオプションですか?
を使用strstr()
して次の場所を見つけます"XXXX"
。
char string1[] = "DDXXXX";
char* xxxx_ptr = strstr(string1, "XXXX");
if (xxxx_ptr)
{
/* Do something. */
}
常に末尾にあり、固定長であることがわかっている場合は、文字列の長さ ( strlen()
) を計算し、固定長を差し引くことで、開始位置を計算できます。
これは、部分文字列が常に調べる文字列の一部であることを前提としています