文字列からの情報抽出
Posted feedbacks - Common Lisp
1 2 3 4 5 6 7 8 9 | (defun print-image-spec (str)
(ppcre:regex-replace-all "([A-Za-z]+)(-hidden)?(?:-(small|big))?\\.([A-Za-z]+)" str
(lambda (m name hidden size ext)
(format t "name:'~a', ext:'~a', size: ~a hidden: ~a~%"
name ext
(if (zerop (length size)) "normal" size)
(if hidden "True" "False"))
m)
:simple-calls t))
|
ごめんなさい。プログラミング初心者です。 初めてcl-ppcre使ってみました。 勉強します。精進します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | (defun frob (str)
(let ((l (remove-if-not (lambda (s) (cl-ppcre:scan "\\." s)) (cl-ppcre:split "([^A-z-\\.]|_|\\^)" str))))
(dolist (item l)
(destructuring-bind (name prop _ ext)
(map 'list #'values
(nth-value 1 (cl-ppcre:scan-to-strings "[^A-z]*([A-z]*)((-small|-big|-hidden)*)\\.([A-z]*)" item)))
(declare (ignore _))
(format t "name: '~A',~,8@Text: '~A', ~,8@Tsize: ~[Small~;Normal~;Big~], ~,8@THidden: ~:[False~;True~]~%"
name ext (big-or-small-or-nomal-p prop) (hiddenp prop))))))
(defun hiddenp (str)
(if (cl-ppcre:scan "-hidden[\\.-]*" str) t nil))
(defun big-or-small-or-nomal-p (str)
(cond ((cl-ppcre:scan "-big" str) 2)
((cl-ppcre:scan "-small" str) 0)
('T 1)))
|


にしお
#3407()
Rating0/0=0.00
サンプル入力
サンプル出力
探すべき文字列は下の条件を満たします
出力は以下の条件を満たす必要があります
このお題は、正規表現のグループに名前をつけて連想配列として取得できるPythonからの挑戦状です。
[ reply ]