Googleドキュメントの改行を置換する2つの方法|謎の空白(改行)にも対応
*本ページはプロモーションが含まれています
Googleドキュメントで改行を削除するとき、一つずつ手作業で行うのは時間がかかります。ただ、フォーマットを統一するためにも余計なものを削除したいシーンがあるのも実情です。
実際に筆者も、入稿や納品の際に削除する必要があり、何度も繰り返し手作業で整えていたことがありますが5〜10分ほどであっても「できれば無駄な時間をカットしたい」ものです。
そこで本記事では、Googleドキュメントにある種類と「置換する2つの方法」を紹介します。また、検索と置換では取り除けない謎の空白(改行)の改善方法にも触れますので、ぜひ最後までご一読ください。
Googleドキュメントで「改行」を置換する方法は、以下の2つです。
- 検索と置換を使う
- GAS(Google Apps Script)を使う
検索と置換だけで実行できますが、謎の改行(空白)を消せないことがあります。必要に応じてGAS(Google Apps Script)を活用しましょう。
※注意
・本記事で公開しているコードの利用は自己判断
・バックアップを取ってから試すことを推奨
・ファンクションおよび変数名は適当です
これからのWebライティングはAIとの共生がキーポイント。日本語対応・SEO最適化可能のAIライティングツール、SAKUBUNならブログ・Web記事作成の作業効率を大幅に向上できます。無制限プランでの利用は月10,780円。年払いなら21,560円もお得。
毎月、5,000文字まで無料で利用可能なので、一度体験してみる価値ありの最新AIライティングツールです。
- 調べた情報から素早く文章を生成
- テンプレートでブログ記事の量産に対応
- AIエディターで微調整も簡単
RytrやCatchyなど、海外・国内のあらゆるツールを実際に試して、何度も文章生成を試しながら見つけたAIライティングツールの決定版です。AIとの共生が求められる時代に遅れないように、今からでも効率化による収入アップを狙いましょう。
目次-気になる内容だけ読む-
Googleドキュメントにある改行の種類
Googleドキュメントで使われる改行には、以下の3種類があります。
- 文末の改行
- 行間の改行
- 謎の改行
文末の改行は、段落の終了を伝える「Enter」で入れられる改行のことです。また、行間の改行は以下の画像に挙げたように段落のスペースを確保する際によく入れられています。
最後の気になる「謎の改行」ですが、段落内の改行のこと。段落を変更せずに改行できる「Shift+Enter」で入れられます。
少しわかりにくいですが、段落はまとまった文章の区切りのこと。今回は以下の要素で区切っています。
- 会社でやっている事業
- 新しい製品の話
- 開発プロセス
開発プロセスの部分で、段落内改行を行っているため、見た目ではわかりませんが確かにそこへ改行がある状態です。
Googleドキュメントで改行を削除する際には、この謎の改行だけが「検索と置換」でうまく対応できませんので、GAS(Google Apps Script)を使うことになります。
目指すゴール
Googleドキュメントの改行をすべて削除すると、段落の区切りで入れたものまで消えてしまいます。
そのため、今回のゴールは以下の画像のように「改行を1つにする」こととします。
GASでテキストを対象にさまざまな処理を実行する場合に、段落内改行も邪魔になるので削除します。すべて消したい場合は、「\n」を正規表現で置換するとすぐに完了できます(詳細は後述)。
なお、Googleドキュメントの改行を置換する方法は、以下の2つです。
- 検索と置換を使う
- GAS(Google Apps Script)を使う
まずは検索と置換を使う方法から触れていきます。
「検索と置換」の正規表現で置換する
Googleドキュメントの改行を置換する方法の1つ目では、検索と置換の正規表現を活用します。
- 検索と置換を開く(※)
- 「検索」に「\n(?=\n)」を入れる
- 変更の値は空欄のままにしておく
- 「正規表現を使用する」にレ点を入れる
- すべて置換を押す
※ショートカットキー
Macだと「⌘+Shift+H」
Windowsなら「Ctrl+Shift+H」
ちなみに、「(?=\n)」または「\n」と入れるとすべての改行を削除できます。
使い方を覚えておくと便利ですので、困ったときには以下にあるページから使い方をご覧ください。
毎月、5,000文字まで無料で利用可能なので、一度体験してみる価値ありの最新AIライティングツールです。
GAS(Google Apps Script)で改行を置換する
Googleドキュメントの改行を置換する方法の2つ目では、GAS(Google Apps Script)を使います。謎の改行(段落内改行)についても、GASで対応できるのでまとめて対応してしまいます。
なお、以下のコードには該当スプレッドシートおよびGoogleドキュメントの指定を別で行う必要があることには注意してください。
- すべての改行を削除する
- 空白の改行(空欄行)を削除する
上記の2種類を紹介します。
すべての改行を削除する
/*【実際に使うGASコード】*/
function delete_n(){
const body = DocumentApp.openByUrl(docs_url).getBody();
const text = body.editAsText();
const plaintext = text.getText();
let count = 0;
for (i = 0; i < plaintext.length; i++) {
if (plaintext[i].match(/\n/)) {
text.deleteText(i-count, i-count);
count += 1;
}
}
}
Googleドキュメントのbodyを読み込んだら、すべてのテキストを1文字ずつチェックします。matchによって改行(\n)を見つけたときに削除が実行されます。
面倒な人は、このコードを貼り付けて使ってください(対象とするdocs_urlの指定は必要)。なお、謎の改行は、「match(/\r/)」にすると削除できます。
まとめて削除する場合には「match(/\r|\n/)」という形でも問題ありません。
改行をすべて置換するコードの解説
「count」は、チェックしたテキストと実際に表示されているテキストに差分が発生しないように記述しています。削除した文字数分だけ数字を増やしてあげる処理です。
- plaintext = 100文字←チェック中は文字数が変わらない
- text = 100文字←置換が発生すると改行が減って-1文字される
→この1文字を補うためにプラス(count)する
改行が削除されるごとに「text」の状態は99.98.97…と減少を続けます。しかし、plaintextは最大値が100とすると、0から順に増え続けて100まで必ず1つずつ確認します。
つまり、plaintextで「該当した文字の場所」とtextで「削除する文字の場所」が徐々にズレるわけです。
- 「あいう\nえお」という6文字を対象とする
- plaintextでは「あ・い・う・\n・え・お」で確認する
→「1・2・3・4・5・6」という6回の実行となる
※本来は0からスタートですが、あえて1にしています。
- textで「あ・い・う・\n・え・お」で確認される
→「1(あ)・2(い)・3(う)・4(\n)」
となって4回目のチェック(改行の時点)で削除が起きる
結果:textの文字列は「あ・い・う・え・お」の5文字となる - 5回目のチェックでは「え」が4文字目にあるため飛ばされる
5つ目の「お」からスタートして6回目に「NaN(何もなし)」で対応 - 上記の繰り返しで文字が1つずれてしまう
結果:改行は見つけられるが削除対象がズレる
面倒ですが、この方法が確実で楽。また、replacetext()のメソッドでは入力した値が文字列として処理されること、replaceは覚えておくと今後のプログラムで役立つこと、の2つの理由から使っています。
行間の改行(空欄行)を削除する
/*【実際に使うGASコード】*/
function delete_(){
const body = DocumentApp.openByUrl(docs_url).getBody();
const paragraphs = body.getParagraphs();
let count = 0;
for (i in paragraphs) {
let callback = paragraphs[i].editAsText().getText();
count += 1 ;
if (count == paragraphs.length) {
break;
} else if (callback == "") {
paragraphs[i].removeFromParent();
}
}
}
Googleドキュメントのbodyを読み込み、paragraph(いわゆる段落)ごとにチェックします。countで段落数のズレを減らしながら、文字列が空欄である場合に段落を削除します。
こちらも面倒な人は、このコードを貼り付けて使ってください(対象とするdocs_urlの指定は必要)。なお、謎の改行(段落内改行)は先述したコードでのみ対応可能です。
行間の改行(空欄行)を置換するコードの解説
「count」は、チェックする段落の数が指定した数値(削除する前の段落数)で止まるように記述しています。while文でcountのカットを実現できるとは思いますが、苦手なので割愛。
こちらは特に難しい話ではなく、行間の改行は文字列が含まれていないことを逆手に取って、空の段落であった場合に親要素(段落要素)を削除してしまうコードです。
改行コードに触れることなく、不要な空欄行だけ消すならこれで十分だと思います。
Googleドキュメントで文字列を改行に置換する方法
Googleドキュメントで文字列を改行に置換する方法は、GAS(Google Apps Script)だけで実現できます。検索と置換の機能を使ったとしても、置換後の改行コード(\nなど)は文字列として処理されてしまうためです。
とはいえ、そこまで難しいものではなく本記事で紹介したコードを少し変更するだけで問題ありません。
/*【実際に使うGASコード】*/
function delete_n(){
const body = DocumentApp.openByUrl(docs_url).getBody();
const text = body.editAsText();
const plaintext = text.getText();
for (i = 0; i < plaintext.length; i++) {
if (plaintext[i].match(/対象文字列/)) {
text.deleteText(i, i);
text.insertText(i, "\n");
}
}
}
対象となる文字列を指定し、「text.insertText(i, “\n”);」で改行に置換するだけです。注意点としては、対象文字列が2文字以上(1文字はOK)であること。
もし、対象となる文字列2文字以上となる場合は、ズレないようにcountで調整する必要があります。
/*【実際に使うGASコード】*/
function delete_n(){
const body = DocumentApp.openByUrl(docs_url).getBody();
const text = body.editAsText();
const plaintext = text.getText();
let count = 0;
for (i = 0; i < plaintext.length; i++) {
if (plaintext[i].match(/対象文字列/)) {
text.deleteText(i-count, i-count);
text.insertText(i, "\n");
count += 1;
}
}
}
上記のコードは、2文字を対象とした場合の記述です。3文字である場合は、「count += 1;」の数字を2に変更してください。
Googleドキュメントの置換を時短する
Googleドキュメントの改行を削除する時間は短いものの、時短できればスムーズに別の作業に移れます。
Googleドキュメントで「改行」を置換する方法は、以下の2つです。
- 検索と置換を使う
- GAS(Google Apps Script)を使う
検索と置換だけで実行できますが、謎の改行(空白)を消せないことがあります。必要に応じてGAS(Google Apps Script)を活用しましょう。
※注意
・本記事で公開しているコードの利用は自己判断
・バックアップを取ってから試すことを推奨
・ファンクションおよび変数名は適当です
GASが難しい場合には、検索と置換を基本として使ってみてください。
毎月、5,000文字まで無料で利用可能なので、一度体験してみる価値ありの最新AIライティングツールです。