文字列の中に「hoge」が含まれている場合、その開始位置を知るには - lisp-cookbook-ja/common-lisp GitHub Wiki
文字列の中に「hoge」が含まれている場合、その開始位置を知るには
文字列はシーケンスですので、searchが利用できます。
(search seq-s seq)
以下の指定ができます。
:from-end bool
:test function
:test-not function
:start1 position
:start2 position
:end1 position
:end2 position
:key function
(search "hoge" "foo bar hoge hage huge hege")
;=>8
CLiki:CL-PPCREを利用した例
scan書式
(scan regex target-string &key start end)
=> match-start, match-end, reg-starts, reg-ends
(ppcre:scan "(はちべえ)" "すけさんかくさんはちべえやしち")
;=> 8 ;マッチ開始位置
; 12 ;マッチ終了位置
; #(8) ;マッチレジスタ開始位置 FIXME
; #(12);マッチレジスタ終了位置