3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Kindleから半角スペースなしでコピーする

Last updated at Posted at 2020-08-09

#要約:Kindleから半角スペースなしでコピーする

  1. Kindleのコピーしたい箇所をハイライト
  2. 同期ボタン(ぐるぐるアイコン)を押す
  3. Kindle: メモとハイライトからコピー
  4. 行コメントが存在する行を正規表現で改行

#背景:Kindleからコピーした際に半角スペースが入る
Kindle本文中以外にソースコードが存在しないKindle本(Spring Boot 2 入門: 基礎から実演まで)を学習している際に問題が発生した。
ソースコードをコピーすると、以下のように不要な空白スペース及び引用箇所の記述が入ってしまう。
引用で触れている環境にあたるWindows用のKindleソフト「Kindle for PC (Windows)」 よりコピーを行っている。

KindleforPC(Windows)よりコピー
コード の 閲覧 は、 PC や タブレット などの 画面 が 大きい 端末 で、 ご覧 ください。( 画面 が 小さい と、 不要 な 空白 スペース が 入っ て しまう こと が あり ます)

原田 けいと; 竹田 甘地; Robert Segawa. Spring Boot 2 入門: 基礎から実演まで (Kindle の位置No.10-11). Kindle 版. 

ただし、コピーで問題が発生する旨のAmazonレビューが見当たらないので、当方の環境依存で発生する問題の可能性が高い。
使用している4Kモニターが一番怪しいが、1920x1080表示にするも解決せず。

#メモとハイライトを使用しコピーする
解決しないものは仕方がないので、写経以外で解決する方法を探す。
以下の方法でコピーを行えば、不要な空白スペース及び引用箇所の記述が入らずにコピーできる。
ハイライトして同期する.jpg

  1. Kindleのコピーしたい箇所をハイライト
  2. 同期ボタン(ぐるぐるアイコン)を押す
  3. Kindle: メモとハイライトからコピー

注意点として、ハイライトした箇所の最後が「Kindle: メモとハイライト」に反映されないことがある。
必要な箇所よりも先までハイライトするか、手作業で欠けた文字を追加する必要がある。

#行コメントが存在する行を正規表現で改行
コピーした文字の改行は半角スペースに変換されているため、コピーした箇所は一行になってクリップボードに保存されている。
元に戻すにはエディタの自動整形機能を用いれば良いのだが、そのままでは行コメント(// 等)が存在する行以降が全てコメントになってしまう。
Spring Boot 2 入門: 基礎から実演まで」のコメントはおおむね「//」の後に半角スペース1つとコメント中に半角スペースを含まないというフォーマットであったので、簡単な正規表現で改行できた。

置換対象のパラメータ:(//[ ].+?)[ ]

置換後のパラメータ:\n$1\n

上記のパラメータは書籍のコメントフォーマットによって変更が必要である。
また、コピーのしやすさを考慮して半角スペースに[]を付けているが、本来は不要である。

#まとめ

  1. Kindleのコピーしたい箇所をハイライト
  2. 同期ボタン(ぐるぐるのアイコン)を押す
  3. Kindle: メモとハイライトからコピー
  4. 行コメントが存在する行を正規表現で改行

上述の方法でも結構面倒なので、全技術書でソースコードファイルを提供して欲しいところ。

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?