「検索ヒット数表示(選択文字列)」の版間の差分
編集の要約なし |
空行と改行の除去 |
||
| (同じ利用者による、間の2版が非表示) | |||
| 1行目: | 1行目: | ||
== 単独マクロバージョン == | == 単独マクロバージョン == | ||
* アクティブなタブの文書内から選択範囲の文字列に一致するものをカウントします。 | * アクティブなタブの文書内から選択範囲の文字列に一致するものをカウントします。 | ||
* ヒット件数はステータスバーに表示します。 | * ヒット件数はステータスバーに表示します。 | ||
: 選択範囲のある状態でマクロを手動で実行するか、「選択範囲が変更されたとき」のイベントマクロに設定して自動で実行させることができます。 | : 選択範囲のある状態でマクロを手動で実行するか、「選択範囲が変更されたとき」のイベントマクロに設定して自動で実行させることができます。 | ||
; 設定項目: '''''countMinimum''''' | ; 設定項目: '''''countMinimum''''' | ||
:Mery の検索ではつねにヒットした文字列の「先頭位置より1文字うしろ」から再検索しますが、このマクロではヒットした文字列の「末尾位置」から再検索できます。 | :Mery の検索ではつねにヒットした文字列の「先頭位置より1文字うしろ」から再検索しますが、このマクロではヒットした文字列の「末尾位置」から再検索できます。 | ||
:''e.g.''「あ<span style="background:#bfdfff;">ああ</span>ああ」5文字だけの文書で「<span style="background:#bfdfff;">ああ</span>」を検索した場合、このマクロでは "2件" とカウントさせることができますが、Mery の検索メソッド(次/前を検索)では "4回" ヒットします。<br> また、「あい<span style="background:#bfdfff;">あいあ</span>」5文字だけの文書で「<span style="background:#bfdfff;">あいあ</span>」を検索した場合は、このマクロでは "1件" とカウントさせることができます(Mery の検索メソッドでは "2回" ヒット)。 | :''e.g.''「あ<span style="background:#bfdfff;">ああ</span>ああ」5文字だけの文書で「<span style="background:#bfdfff;">ああ</span>」を検索した場合、このマクロでは "2件" とカウントさせることができますが、Mery の検索メソッド(次/前を検索)では "4回" ヒットします。<br> また、「あい<span style="background:#bfdfff;">あいあ</span>」5文字だけの文書で「<span style="background:#bfdfff;">あいあ</span>」を検索した場合は、このマクロでは "1件" とカウントさせることができます(Mery の検索メソッドでは "2回" ヒット)。 | ||
:→ 少なくカウントする設定にした場合、「何件目」かの表示は、上の例のような範囲選択をしている場合には不正確な値を返します。 | :→ 少なくカウントする設定にした場合、「何件目」かの表示は、上の例のような範囲選択をしている場合には不正確な値を返します。 | ||
; 設定項目: '''''matchCase''''' | ; 設定項目: '''''matchCase''''' | ||
: 文字列のヒット判定では「大文字と小文字を区別する」を適用するかどうかを選択できます。 | : 文字列のヒット判定では「大文字と小文字を区別する」を適用するかどうかを選択できます。 | ||
※ イベントマクロで利用する場合の処理速度を優先させるため、正規表現での検索処理が必要な「単語のみを検索する」は適用できません。 | ※ イベントマクロで利用する場合の処理速度を優先させるため、正規表現での検索処理が必要な「単語のみを検索する」は適用できません。 | ||
<span style="color:#c00;">※ イベントマクロで利用する場合は「'''遅延時間'''」を適宜調整しないと、大きな文書の編集のさいに動作が "もたつく" ことがあります。</span> | <span style="color:#c00;">※ イベントマクロで利用する場合は「'''遅延時間'''」を適宜調整しないと、大きな文書の編集のさいに動作が "もたつく" ことがあります。</span> | ||
[[#機能強化バージョン|機能強化バージョン]] を追加(2019/08/26 → 更新 2019/12/03) | [[#機能強化バージョン|機能強化バージョン]] を追加(2019/08/26 → 更新 2019/12/03) | ||
=== ソースコード === | === ソースコード === | ||
2019/12/03 更新 | 2019/12/03 更新 | ||
*全体のヒット件数のうしろに「何件目」のヒットかを追加 | *全体のヒット件数のうしろに「何件目」のヒットかを追加 | ||
*ヒット数のカウント方法を設定変数で指定 | *ヒット数のカウント方法を設定変数で指定 | ||
< | <syntaxhighlight lang="javascript"> | ||
#title = "ヒット件数(選択文字列)" | #title = "ヒット件数(選択文字列)" | ||
#tooltip = "検索ヒット数表示(選択範囲の文字列)" | #tooltip = "検索ヒット数表示(選択範囲の文字列)" | ||
| 81行目: | 75行目: | ||
} | } | ||
} | } | ||
</ | </syntaxhighlight> | ||
== 組み込み用関数バージョン == | == 組み込み用関数バージョン == | ||
| 88行目: | 81行目: | ||
2019/07/20 追加、 2019/12/03 更新 | 2019/07/20 追加、 2019/12/03 更新 | ||
*引数に指定した文字列の出現回数 "'''ヒット数:n 件 ( m 件目 )''' " を返します。 | *引数に指定した文字列の出現回数 "'''ヒット数:n 件 ( m 件目 )''' " を返します。 | ||
※ 動作仕様・制限事項は [[#単独マクロバージョン|単独マクロバージョン]] に準じます。 | ※ 動作仕様・制限事項は [[#単独マクロバージョン|単独マクロバージョン]] に準じます。 | ||
=== 使用例 === | === 使用例 === | ||
< | <syntaxhighlight lang="javascript"> | ||
// 選択範囲の文字列のヒット数をステータスバーの表示内容に追加 | // 選択範囲の文字列のヒット数をステータスバーの表示内容に追加 | ||
var word = document.selection.Text; | var word = document.selection.Text; | ||
| 99行目: | 91行目: | ||
Status += " " + HitStatus( word, true, false ); | Status += " " + HitStatus( word, true, false ); | ||
} | } | ||
</ | </syntaxhighlight> | ||
=== 組み込み関数コード === | === 組み込み関数コード === | ||
< | <syntaxhighlight lang="javascript"> | ||
/* | /* | ||
* 関数 HitStatus( word, matchCase, countMinimum ) | * 関数 HitStatus( word, matchCase, countMinimum ) | ||
| 132行目: | 124行目: | ||
).replace( /(\d)(?=(?:\d{3})+(?!\d))/g, "$1," ); | ).replace( /(\d)(?=(?:\d{3})+(?!\d))/g, "$1," ); | ||
} | } | ||
</ | </syntaxhighlight> | ||
== 機能強化バージョン == | == 機能強化バージョン == | ||
2019/08/26 追加、2019/12/03 更新 | 2019/08/26 追加、2019/12/03 更新 | ||
| 145行目: | 135行目: | ||
* 設定項目から表示方法や検索方法などを変更可 | * 設定項目から表示方法や検索方法などを変更可 | ||
※ 動作仕様の説明は [[#能書き|ソースコード末尾]] に記載してあります。 | ※ 動作仕様の説明は [[#能書き|ソースコード末尾]] に記載してあります。 | ||
=== ダウンロード === | === ダウンロード === | ||
2019/12/03 更新 | 2019/12/03 更新 | ||
;ダウンロード >> 「[[ファイル:文字数・行数・バイト数・ヒット件数.zip]]」(アイコン入り) | ;ダウンロード >> 「[[ファイル:文字数・行数・バイト数・ヒット件数.zip]]」(アイコン入り) | ||
=== ソースコード === | === ソースコード === | ||
<syntaxhighlight lang="javascript"> | |||
< | |||
#title = "文字数・行数・バイト数・ヒット件数" | #title = "文字数・行数・バイト数・ヒット件数" | ||
#tooltip = "文字数・行数・バイト数・選択文字列の検索ヒット数表示" | #tooltip = "文字数・行数・バイト数・選択文字列の検索ヒット数表示" | ||
| 442行目: | 428行目: | ||
</ | </syntaxhighlight> | ||
<div id="能書き"></div> | <div id="能書き"></div> | ||
/** | /** | ||
| 475行目: | 461行目: | ||
* ※ 文字数のカウントでは、改行記号の | * ※ 文字数のカウントでは、改行記号の | ||
* CR+LF と CR と LF <s>の区別なしに1文字として扱います</s>( ← Mery 方式)。 | * CR+LF と CR と LF <s>の区別なしに1文字として扱います</s>( ← Mery 方式)。 | ||
* <span style="color:#0000c0;">→ 設定変数で区別可能にした(※ 推奨要件: Mery | * <span style="color:#0000c0;">→ 設定変数で区別可能にした(※ 推奨要件: Mery Ver 2.6.10 以上)</span> | ||
* | * | ||
* よそのエディタの 表示/カウント 方式にあわせたい場合は、 | * よそのエディタの 表示/カウント 方式にあわせたい場合は、 | ||
スポンサーリンク