Emacs、Notepad++、または Eclipse を使用しています。String を小さな断片に切り取り、セパレータを使用してそれらを連結する方法はありますか?
例: 入力:
"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
。
Eclipse では (少なくとも Java コンテキストでは)、文字列内にカーソルを置いて Enter キーを押すだけです。これは Netbeans でも機能します。
メモ帳 ++ では、RegEx: ([\w]+)\s*([\w]*)
を使用してから置き換えることができ"$1 $2" +
ますが、戻って、+
グループが 1 つだけ一致する最後の置換から不要な記号を削除する必要があります。