テキスト処理

サロゲート安全なJavaScriptの文字列処理ライブラリ「string_with_surrogate_pairs.js」の公開とサンプルコード

サロゲートペアを含むような文字列を,JavaScriptで正しく処理するためのライブラリと動作サンプル。 サンプルページ サロゲート安全なJavaScript文字ライブラリの開発 http://tagengo-gakushuu.study-tips.info/2019/06_12_js_surrogate/test.html サンプル…

JavaScriptでTSV(タブ区切り文字列)をパースするライブラリver0.2。Excelからのコピペ内容を表形式でそのままJSにインポート可能

概要 「JavaScriptでTSVデータをパースするライブラリ」を更新した。もとからある機能: TSVデータの取得元として,DOM要素内のinnerHTML,または関数オブジェクト内のコメントを指定できる。 今回の修正点: TSVデータのセル内の値に,\tという記法によって…

JavaScriptでTSV(タブ区切り文字列)をパースするライブラリver0.1。Excelからのコピペ内容を表形式でそのままJSにインポート可能

概要 JavaScriptでTSVデータをパースするライブラリを作成した。TSVデータの取得元として,DOM要素内のinnerHTML,または関数オブジェクト内のコメントを指定できる。詳しくは下記コードのコメント内の使用法を読むこと。 コード TsvParser.js

はてなブログのMT形式バックアップデータを解析して,見出し数や特定のタグ数を記事ごとにカウントするJavaScriptコード

はてなブログのバックアップデータは,MovableType形式だ。 このMTデータを解析して,記事ごとに特定のタグがいくつあるか?を 一覧表に集計するJavaScriptフォーム。 下記のフォームをベースに改良した。 一般テキストからテンプレートマッチングで項目を一…

外国語などの入力フォーム・キーボードHTMLを簡単に生成するJavaScript

「文字入力フォーム」を簡単に作るためのJavaScriptコード。 キーボードUIを楽に作れる。 キーとして表示したい文字は,HTML内に列挙しておくだけですむ。 ここでは,例として「タイ語の発音記号ローマ字」をキーボード表示してみる。 動作デモ タイ語の発音…

WSHで,エクセルシート上の列内・全項目を日本語・漢字から半角英数字の読みに変換するバッチ

一つ前のエントリで作った,シート内を縦方向にスキャンする関数を応用。 一行ずつスキャンして,読みがなをkakasiコマンドで生成している。 ==== kakasiで読みがなを付与.bat cscript do.wsf pause do.wsf <job> <script src="lib_log.js" /> <script src="lib_arr.js" /> <script src="lib_cmd.js" /> <script src="lib_excel.js" /> <script src="main.js" /> </job> lib_arr.js // 配列のイテレータ Arr…

複数行のテンプレートマッチング繰り返しで,項目を一覧表形式で抽出するJSコード (改良版)

下記のコードを改良。 一般テキストからテンプレートマッチングで項目を一覧表形式で抽出するJSコード (パターンの繰り返しから正規表現で連続キャプチャ) - ソフトウェア勉強ログとサンプルコード http://source-code-student.hatenablog.jp/entry/201501…

一般テキストからテンプレートマッチングで項目を一覧表形式で抽出するJSコード (パターンの繰り返しから正規表現で連続キャプチャ)

もし,文字列がデータ構造を持っていれば,パースは容易だ。たとえば: DOM XML CSV JSON これらはいずれもテキストが持つデータ構造であり,項目を抽出するのがきわめて容易。 しかし,データ構造を持たないようなテキストもある。 そういうテキストから,…

JavaScriptで,文字列の差分(diff)をブラウザ上でグラフィカルに可視化するコード

JavaScriptで,文字列のdiff差分を計算するコード。 テキストベースおよびグラフィカルの両方で,差分を明示する。 上の画像のような出力を得られる。 前回のコードを改良したもの。 JavaScriptで,文字列のdiff差分を計算するコード。アルゴリズムは動的計…

2ちゃんねるのスレッドから全レスをtable形式で抽出するJavaScriptコード

Firebugで動作する。 スレッドをブラウザ(firefox)で開いて,コンソールで実行すればよい。 var rescnt = 1; var table_src = $x("//dl[@class='thread']/dd").reduce(function( ret, i ){ ret += "<tr><td>" + rescnt + "</td><td>" + i.innerHTML.replace(/<a [^>]*>([^<]*)<\/a</a></td></tr>…