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?

War es hilfreich?

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
  1. Erstellen Sie eine Gruppe mit einem Zeichen (die Registerkarte char) und es so weit wie möglich entsprechen.
  2. Ersetzen Sie die vollständige Übereinstimmung mit den einzelnen Zeichen
  3. (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

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top