I have a list of values in a csv, which i'm trying to alter slightly using a REGEX search and replace using Notepad++. What I have contains the following examples:
Text,UK_BT.BT1.BT1 1,123
Text,UK_BT.BT11.BT11 1,123
Text,IE_text.text.text,123
What i'm wanting to do, is remove the text between first comma and last period, only where the line contains UK_BT. So the output would be:
Text,BT1 1,123
Text,BT11 1,123
Text,IE_text.text.text,123
Does anyone have any clues? Regex really isnt my strongpoint and generally gets forgotten after using it! Thanks,
Find what: ^(?=.*UK_BT.*)([^,]+,).*\\.([^\\.]+)$
Replace with \\1\\2
Explanation
^ # Beginning of the line.
(?=.*UK_BT.*) # Must contain 'UK_BT' (positive look ahead, not capturing group, not character consuming).
( # Beginning of the first group.
[^,]+, # Everything but ',' at least one time (+) followed by ',' (first ',').
) # End of the first group.
.* # Everything zero or more times.
\. # A single '.'.
( # Beginning of the second group.
[^\.]+ # Everything but '.' at least one time (this in combination with '\.' allows to find the last '.').
) # End of the second group.
$ # End of the line
\\1\\2
allows to point to the first and second captured group.
Try it next time you won't forget it...
Find what: UK.+\\d\\.
Replace with: nothing
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.