我正在使用 Emacs、Notepad++ 或 Eclipse。有没有办法将字符串切成小块并使用分隔符连接它们?
例如: 输入:
"I like sushi and maki"
输出:
"I like" +
"sushi and" +
"maki"
以下是我对这个问题的看法。不确定我是否解决了正确的问题:)
(defun split-string-words (min max)
(interactive "r")
(let ((counted 0) (before-indent min)
(wordcount (read-number "How many words in a line? " 7))
(delimiter
(read-string "Delimit with (default: \" + \") "
nil nil "\" + \"")))
(save-excursion
(goto-char min)
(while (< min max)
(incf counted)
(when (= counted wordcount)
(insert delimiter)
(backward-char)
(incf max (length delimiter))
(setq before-indent (point)
counted 0)
(newline-and-indent)
(incf max (- (point) before-indent)))
(forward-word)
(setq min (point))))))
使用应该是直截了当的。还要检查您的<mode>-insert-and-indent
功能的编辑模式,您想使用它而不是newline-and-indent
.
在记事本++中,您可以使用 RegEx: ([\w]+)\s*([\w]*)
然后替换为,"$1 $2" +
但随后您将不得不返回并+
从只有一组匹配的末尾替换中删除无关的符号。
在 Eclipse 中(至少在 Java 上下文中),您只需将光标放在字符串内并按 Enter 键。这也适用于 Netbeans。