help-gnu-emacs
[Top][All Lists]
Advanced

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

Splitting String


From: Jeckob
Subject: Splitting String
Date: 15 Nov 2005 04:17:31 -0800
User-agent: G2/0.2

Hi all,
having problems with some Code i have written, half of the job is done
but now i have problems to get on. here is me code until now :

(defun format/align-and-newline ()
  (interactive)
  (setq anker (point))
  (let* ((start (progn (beginning-of-line) (point)))
         (end   (progn (end-of-line) (point)))
         (line (buffer-substring start end))
         (words (split-string line)))
    (setq testpoint (first words))
    (if (setq posDoppel (position ?: line) )
        (if (position ?. testpoint)
            (insert "\n")
           (delete-region start end)
          (insert (format "%-10s" (first words)))
          (dolist (word (cdr words))
            (insert (format "%-10s" word)))
          (if (beginning-of-line)
              (insert "\n")
            (setq anker (point)))
          )
      )
    )
  (goto-char anker)
  (insert "\n")
  )
 (local-set-key (kbd "RET") (function format/align-and-newline))
;;end

If i type a line like this:
abc def ghj klm : nop : qrs : tuv

the code transforms the string to:
abc       def       ghj       klm       :         nop       :
qrs       :         tuv

So, the thing im having problems is to get the string like this :
abc       def       ghj       klm       : nop     : qrs     : tuv

in other words, if there is a colon typed a space before a word, i need
to have the colon with the word to be in the cell of the list, and not
the colon alone as a word. So, in the example the list should have 7
elements and not 10. Maybe somebody can give me a hint... thanks in
advance 
greets



reply via email to

[Prev in Thread] Current Thread [Next in Thread]