正規表現でエスケープ文字を置き換える方法は?
質問
もう一度壁にぶつかった。
正規表現を使用してエスケープ文字を置き換える方法は? タブ文字(\ t)が2回以上出現する場合、これらの2つ以上の出現を単一の\ tに置き換えます。 たとえば、\ t \ t \ tが来た場合、それを\ tのみに置き換えます。 これを行う方法
テキストファイルの読み取りと正規表現の適用に関するもう1つの問題に直面しています。
テキストファイルの読み取りと正規表現にC#を使用しています。 テキストファイル(txt拡張子を持つファイル)を開くと、通常のファイルビューが表示されます。しかし、" textReader"を使用して同じファイルを読み取ると、文字列に保存すると、次のようなテキストが表示されます。
O K \ t \ t \ t \ t \ t \ tEmail:
k.o@gmail.com \ rPhone:+ 91
992 \ t \ r \ rエクスペリエンス概要
\ rビジネスインテリジェンスとデータ
6人以上の倉庫設計者
OLAPの長年の経験
Project。\ r \ r \ rTechnology \ rBelowは
重要なソフトウェア製品のリスト
そして私が働いてきたツール
with。\ r \ rSoftware
Products \ r \ a \ r \ aOperating
システム:\ rWINDOWS NT、WINDOWS 2000、
UNIX \ rデータベース管理
システム:\ rOracle 8i、Oracle 9i、Oracle
10g、SQL-Server 7.0、DB2 \ rSoftware
パッケージ:\ rVSS、ER Win、M1 \ rFourth
生成言語:\ rPL / SQL、
SQL * PLUS \ rTools&
テクノロジー:\ rOracle Warehouse
Builder 10.1.0.4.0、ORACLE 9i AS、
ORACLE Discoverer Reports Data Stage
8.0、Fast Track 8.5、DB @ Cube、JavaScript、JSP、JDEV、BI BEANS、ASP、
ASP.NET、Ab
Initio \ r \ r \ a \ r \ a \ v \ r \ r \ fAssignments \ rThe
さまざまな割り当ての詳細
私が処理したものはここにリストされています、
時系列で
order。\ r \ rName \ r \ aAvery Dennison Data
倉庫\ r \ a \ r \ aClient \ r \ aAvery
デニソン、彼はプロジェクトに挑戦します
既存の
からEDWをフィードすることです にデータがある倉庫
集約
level。\ r \ a \ r \ a \ r \ rName \ r \ aAOL BI
(Omniture)\ riteチーム。デザイン、
コーディングとテストと一緒に
オンサイトチームとの調整。
\ r \ a \ r \ aツール& Technologies \ r \ aUnix
プラットフォーム、Oracle 10g、Py。
正しい要件を提供しますが、
また、パフォーマンスは
許容できる
range。\ r \ a \ r \ a \ r \ r \ r \ r \ r \ r \ r \ r \ r \ r \ r \ rName \ r \ aAIW
イベント(ABSA)\ r \ a \ r \ aClient \ r \ aABSA、
南アフリカ\ r \ a \ r \ aP
i.e、\ s、\ r、\ fなどのすべてのエスケープ文字が表示されます。このため、同じテキストを文字列変数に読み込んだ場合、通常のテキストで機能する正規表現は機能しません。
この問題を解決する方法を知っている人はいますか?
ありがとう
もう1つクエリがあります。行末のテキストを一致させたい。私はこれに$を使用しようとしました。たとえば、" assignment"で終わるテキストに一致させるには、正規表現assignment $を使用しました。通常のテキストで機能しました。しかし、streamreaderで指定されたテキストでこのregxを実行すると、この正規表現は機能しません。ストリームリーダーは、Assignments \ r \ r \ fのような文字列を提供します。この種類のテキストで行末または行頭を一致させる方法は?
解決
文字列" \ r"
と一致させようとしていますか?エスケープ文字をエスケープする必要があります:
"(\\r)*"
この表現は、" \ r"
と何度でも一致します。 " \\"
がリテラル" \"
にエスケープするため、機能します。同じアイデアを" \ t"
にも適用できます。
他のヒント
/\t{2,}/\t/
2つ以上のタブを単一の文字に置き換えます。
タブ文字には次のようなものを使用します:
/(\t)*/\1/g
- 1つの文字(タブ文字)でグループを作成し、可能な限り一致させます。
- 完全一致を単一の文字に置き換えます
- (グローバル)全文にパターンを使用します。
次に、置換する他のエスケープ文字に同じ式を使用できます。
\\ t \\ t \\ t
を \\ t {3}
に置き換えることができます