以下のバッチスクリプトは、これまでうまく動作するテキストファイルを再フォーマットするためのスクリプトです。文字列に応じて特定の行に最後の単語の前に文字列NODATAを挿入する方法は?
この文脈では、任意の単語文字またはドットまたはハイフンで構成される文字列は、の単語と解釈されます。
文字列が単語を最後に残された場合、最後のが、1つの単語としてNODATA
を挿入するための要件は、それぞれ比較した大文字と小文字を区別しないで検索する必要があり、次の文字列のどれもありません:
API
Server Module
Version
入力データ例:
Check Masterdata API 3.1.8
Core Server Module 3.1.8-P02
Check Subsystem version 3.1.8-11P
Core resources 1.2.1
予想される出力データ:
Check Masterdata API 3.1.8
Core Server Module 3.1.8-P02
Check Subsystem version 3.1.8-11P
Core resources NODATA 1.2.1
私は正規表現であるため、純粋な知識のコードは、この要件のためのバッチファイルに追加する任意のアイデアを持っていません。私はそれがjrepl.bat
でもできると思います。
適切なjrepl.bat
コマンドラインをこのバッチファイルの既存の呼び出しの上に追加して、正しい行に右の位置にNODATA
を挿入することをおすすめしますか?
スクリプト:あなたがして助けを必要とするコードのセクションで
call "%~dp0jrepl.bat" "[^\w.\-]+([\w.\-]+)[^\w.\-]+([\w.\-]+)$" ",$1,$2" /F "%tempFile2%" /O "%tempFile3%"
「私は必要です」は質問ではありませんので、[ツアー]を読んで[尋ねてください]! – aschipfl
あなたはすべての入力行に3つの単語とバージョンコードが必要だと言っていますか? 3つの単語がない場合は、3番目の単語としてNODATAという単語を追加しますか? – Squashman
@Squashman、いいえ、最後の単語の前の単語がAPI(または)Serverモジュール(または)バージョンでない場合、最後の単語の前にNODATAを追加する必要があります。 – Deepti