<xyz> aus dem String "abc <xyz>" entfernen

Post a reply


In an effort to prevent automatic submissions, we require that you complete the following challenge.
Smilies
:D :) ;) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :!: :?: :idea: :| :mrgreen: :geek: :ugeek: :arrow: :angel: :clap: :crazy: :eh: :lolno: :problem: :shh: :shifty: :sick: :silent: :think: :thumbup: :thumbdown: :salute: :wave: :wtf: :yawn: :facepalm: :bravo: :dance: :beard: :morebeard: :xmas: :HeHe: :trollface: :cookie: :rainbow: :monkeysee: :monkeysay: :happybday: :headwall: :offtopic: :superhappy: :terms: :beer:
View more smilies

BBCode is ON
[img] is OFF
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: <xyz> aus dem String "abc <xyz>" entfernen

Re: <xyz> aus dem String "abc <xyz>" entfernen

Post by IRBaboon » 25 Feb 2016, 05:47

warum es das erste < nicht entfernt hat kann ich auch nicht erklären aber * ist nur ein quantifier. der hätte sich in deinem fall eigentlich auf das erste < beziehen sollen. der . bedeutet das er alle zeichen ausser zeilenumbrüche findet. das * danach bedeutet das er das so oft macht wie möglich (greedy) und das *? bedeutet das er es nur so oft macht wie nötig (lazy).

Code: Select all

U)<(.*)>
würde auch gehen weil der U modifier alle quantifiers lazy macht.
wenn du den g (global) modifier verwendest dann werden alle im string vorkommenden treffer beachtet. in deinem fall nur der erste. bin mir aber nicht sicher ob ahk den modifier kennt, in der quick-reference steht er nämlich nicht mit drin.

Re: <xyz> aus dem String "abc <xyz>" entfernen

Post by Gurkentoepfer » 25 Feb 2016, 03:43

selbst gefunden mit Google's Hilfe, warum das funktioniert, verstehe ich aber auch nicht.
Die AHK-Hilfe bei RegEx ist etwas mager ausgestattet.

Code: Select all

text=
(Ltrim
Mueller Hubert (dept) <Hubert.Mueller.web.de>; Meier Doris (dept) <Doris.Meier.web.de>
)
text := RegExReplace(text,"<(.*?)>")
	MsgBox % text

<xyz> aus dem String "abc <xyz>" entfernen

Post by Gurkentoepfer » 25 Feb 2016, 02:36

... versucht mit...

Code: Select all

text=
(Ltrim
Mueller Hubert (dept) <Hubert.Mueller.web.de>; Meier Doris (dept) <Doris.Meier.web.de>
)

text := RegExReplace(text,"<*>")
	MsgBox % text
... tut aber nicht. Entfernt lediglich das ">" aus dem Text.
Gewünschtes Ergebnis wäre...
Mueller Hubert (dept); Meier Doris (dept)

Top