|
From: | Jean Louis |
Subject: | Re: How to convert an arbitrary string into a filename |
Date: | Wed, 26 Apr 2023 13:08:59 +0300 |
User-agent: | Mutt/2.2.9+54 (af2080d) (2022-11-21) |
(defun string-slug (s &optional random) "Return slug for Website Revision System by using string S. RANDOM number may be added on the end." (let* ((random (or random nil)) ;; (case-fold-search t) (s (replace-regexp-in-string "[^[:word:]]" " " s)) (s (replace-regexp-in-string " +" " " s)) (s (replace-regexp-in-string "ž" "z" s)) (s (replace-regexp-in-string "Ž" "Z" s)) (s (replace-regexp-in-string "š" "s" s)) (s (replace-regexp-in-string "Š" "S" s)) (s (replace-regexp-in-string "č" "c" s)) (s (replace-regexp-in-string "Č" "C" s)) (s (replace-regexp-in-string "Ć" "C" s)) (s (replace-regexp-in-string "ć" "c" s)) (s (replace-regexp-in-string "đ" "d" s)) (s (replace-regexp-in-string "Đ" "D" s)) (s (replace-regexp-in-string "^[[:space:]]+" "" s)) (s (replace-regexp-in-string "[[:space:]]+$" "" s)) (s (replace-regexp-in-string " " "-" s)) (s (if random (concat s "-" (number-to-string (random-number))) s))) s)) (string-slug "Hello there, how are you?") ➜ "Hello-there-how-are-you" From: GNU Emacs package: rcd-utilities.el: https://gnu.support/gnu-emacs/packages/rcd-utilities-el.html -- Jean Take action in Free Software Foundation campaigns: https://www.fsf.org/campaigns In support of Richard M. Stallman https://stallmansupport.org/
[Prev in Thread] | Current Thread | [Next in Thread] |