1. 程式人生 > >C語言-字串處理-識別一個字串的子字串-然後擷取這個字串的後面一段

C語言-字串處理-識別一個字串的子字串-然後擷取這個字串的後面一段

我怎麼從一個很長很長的字串中,識別到某個字串之後,開始從這個字串擷取到這個原字串的最後一位?

這個問題是我同事問我的,當時我一臉懵逼,然後想到一個數組,然後對比查詢,再然後獲取位置,然後直接指標相減。

開發遇到的小問題。記錄下來,便於自己思維總結。後面想起前面的資料庫開發,只想喊一句我特麼草!!!

用sscanf()函式

給定一個字串““hello, world”,僅保留world。(注意:“,”之後有一空格)

  sscanf(“hello, world”, "%*s%s", buf);
  printf("%s/n", buf);
  結果為:world
  %*s表示第一個匹配到的%s被過濾掉,即hello被過濾了

  如果沒有空格則結果為NULL。
  sscanf的功能很類似於正則表示式, 但卻沒有正則表示式強大,所以如果對於比較複雜的字串處理,建議使用正則表示式.