Wie Escape-Zeichen in Regulärer Ausdruck ersetzen?
Frage
Wieder einmal habe ich gegen die Wand.
Wie Escape-Zeichen mit regulären Ausdrücken ersetzen? Wenn Tabulatorzeichen (\ t) occures mehr als doppelt so hoch, mag ich diese zwei oder mehr Vorkommen von einzelnen \ t ersetzen. Zum Beispiel, wenn \ t \ t \ t kommt, dann will ich es mit \ t nur ersetzen. Wie man dies tut?
Ich bin vor ein weiteres Problem in Bezug auf Textdatei zu lesen und regulären Ausdrücken, um es anzuwenden.
Ich bin mit C # Textdatei und für reguläre Ausdrücke zu lesen. Wenn ich Textdatei öffnen (Datei txt-Erweiterung hat), erhalte ich eine normale Ansicht der Datei. Aber wenn ich die gleiche Datei mit „Textreader“ lesen und speichern sie in string, ich Text etwas wie diese:
O K \ t \ t \ t \ t \ t \ tEmail:
k.o@gmail.com \ rPhone: + 91
992 \ t \ r \ rExperience Zusammenfassung
\ RBusiness Intelligenz und Daten
Lager-Designer mit mehr als 6
Jahre Berufserfahrung in OLAP
Projekt. \ R \ r \ rTechnology \ rBelow ist ein
Liste der wichtigen Softwareprodukte
und Werkzeuge, die ich gearbeitet habe
mit. \ r \ rSoftware
Produkte \ r \ a \ r \ aOperating
Systeme: \ rWINDOWS NT, Windows 2000,
UNIX \ rDatabase Management
Systeme: \ rOracle 8i, Oracle 9i, Oracle
10g, SQL-Server 7.0, DB2 \ rSoftware
Pakete: \ rVSS, ER Win, M1 \ rFourth
Generation Language: \ rPL / SQL,
SQL * PLUS \ RTools &
Technologies: \ rOracle Lager
Builder 10.1.0.4.0, ORACLE 9i AS,
ORACLE Discoverer Reports Daten Bühne
8.0, Fast Track 8.5, DB @ Cube, JavaScript, JSP, JDEV, BI BOHNEN, ASP,
ASP.NET, Ab
Initio \ r \ r \ a \ r \ a \ v \ r \ r \ fAssignments \ rDie
Details der verschiedenen Aufgaben
dass ich aufgelistet behandelt hier
in chronologischer
Ordnung. \ r \ rName \ r \ aAvery Dennison Daten
Warehousing \ r \ a \ r \ AClient \ r \ aAvery
Dennison, er im Projekt
Herausforderung ist EDW aus bestehenden
einzuspeisen Lagerhallen, die Daten in einem
hat aggregierte
Ebene. \ r \ a \ r \ a \ r \ rName \ r \ aAOL BI
(Omniture) \ rite Team. Planung,
Programmieren und Testen zusammen mit
Koordination mit Vor-Ort-Team.
\ R \ a \ r \ aTools & Technologies \ r \ Aunix
Plattform, Oracle 10g, Py. Nicht nur
liefert die richtige Anforderung aber
auch hat die Leistung in
sein akzeptabel
Bereich. \ r \ A \ r \ A \ r \ r \ r \ r \ r \ r \ r \ r \ r \ r \ r \ rName \ r \ AAIW
Events (ABSA) \ r \ a \ r \ AClient \ r \ aABSA,
Südafrika \ r \ a \ r \ aP
das heißt, alle Escape-Zeichen wie \ s, \ r \ f sichtbar sind. Aus diesem Grunde, der reguläre Ausdruck, der mit normalen Text funktioniert nicht funktioniert, wenn ich denselben Text in String-Variable lesen.
Jeder weiß, wie dieses Problem zu lösen?
Danke
Ich habe noch eine Abfrage. Ich möchte am Ende der Zeile Text übereinstimmen. Ich habe versucht, $ für diesen Einsatz. Zum Beispiel Text mit der Endung „Zuordnung“ zu entsprechen, habe ich regex Zuordnung $ .Es mit normalen Text gearbeitet. Aber wenn ich laufen diese REGx auf Text von Stream gegeben, diese Regex funktioniert nicht. Stream-Leser gibt Strings wie Zuordnungen \ r \ r \ f.How Ende der Zeile oder Zeilenanfang mit dieser Art von Text passen?
Lösung
Sie versuchen, die Zeichenfolge "\r"
übereinstimmen, nicht wahr? Sie werden die Escape-Zeichen entkommen müssen, es zu tun:
"(\\r)*"
Dieser Ausdruck wird "\r"
beliebig oft entsprechen. Es funktioniert, weil "\\"
zu einer wörtlichen "\"
entkommt. Sie können die gleiche Idee gilt "\t"
passen auch.
Andere Tipps
/\t{2,}/\t/
ersetzt zwei oder mehrere Tabs mit einem einzelnen Zeichen.
Für die Registerkarte char Verwendung etwas wie folgt aus:
/(\t)*/\1/g
- Erstellen Sie eine Gruppe mit einem Zeichen (die Registerkarte char) und es so weit wie möglich entsprechen.
- Ersetzen Sie die vollständige Übereinstimmung mit den einzelnen Zeichen
- (Global) das Muster für den vollständigen Text.
Dann könnte man den gleichen Ausdruck für die anderen entkamen Zeichen verwenden, die Sie ersetzen möchten.
Sie könnten \\t\\t\\t
mit \\t{3}
ersetzen