[Date Prev] [Date Index] [Date Next]
[Thread Prev] [Thread Index] [Thread Next]

[xyzzy:08956] Re: リストから取得した要素について



こんばんは、つるりんさん。西口です。

On Mon, 10 Nov 2003 23:56:38 +0900 (JST)
Kataoka Yumi <tu93a@xxxxxxxxxxx> wrote:

> (string-match "\.txt$" b-name)
> と言う関数を教えていただきました。

すいません。私ウソ言ってました。

;間違い
(string-match "\.txt$" "boootxt")
=> 3

;こっちが正解
(string-match "\\.txt$" "bootxt")
=> nil
(string-match "\\.txt$" "boo.txt")
=> 3

(string-match "\.txt$" str)
だと、
[任意の文字]txt
で終わる文字にマッチしちゃいますね。
正しくは

(string-match "\\.txt$" str)
です。

> string-match でマッチする index 番目を取得した後、
> その index をいかして文字列を取得する方法はあるのでしょ
> うか?
indexをいかしてませんが、
上記の(string-match)の正規表現をちょっといじって

;;拡張子cppをhに変える
(setq full-path "d:/hoge/hoge.d/hoge.cpp")
=> "d:/hoge/hoge.d/hoge.cpp"

(string-match "\\(.*\\)\\.cpp$" full-path)
=> 0

(string-replace-match full-path "\\1.h")
=> "d:/hoge/hoge.d/hoge.h"

とか。

string-replace-matchはstring-matchの直後に使ってください。

Index Home