I have one CSV file with data like below.
ABC,XYZ,LMN
0,,2.3
3.4,3,5
,0,
1.3,,4.5
Is there any way to replace the empty column with a 0 value using Regex?
EDIT: Tried Tim Biegeleisen solution like below
Find: (^|,)(,|$)
Replace: ${1}0${2}
But it doesn't work in below case. If I have CSV data like below
ABC,XYZ,LMN
0,,2.3
3.4,3,5
,,0 // here it doesn't work
1.3,,
CodePudding user response:
You can use
Find: (?<![^,\r\n])(?=,|$)
(or) (?:,|^)\K(?=,|$)
Replace: 0
Details:
(?<![^,\r\n])- a negative lookbehind that fails the match if there is no,, CR or LF char immediately on the left (basically, it is roughly(?<=,|^), a comma or start of a line must occur immediately to the left of the current location)(?:,|^)\K- matches a comma or start of a line and\Kremoves the comma (if matched) from the match value (it is a kind of a lookbehind alternative)(?=,|$)- a positive lookahead that requires either,or end of a line immediately to the right of the current location.

