I am completely new to regex and I would greatly appreciate any help.
The task is simple. I have a CSV file with records that read like this:
12345,67890,12345,67890
12345,67890,12345,67890
12345,67890,12345,67890
12345,67890,12345,67890
12345,67890,12345,67890
I would like to replace the first comma with a space and leave the rest of the commas intact, for every line. Is there a regex expression that will only match the first comma?
I tried this: ^.....,
. This matches the comma, however, it also matches the entire length of the string preceding the comma, so if I try to replace this with a space all of the numbers are deleted as well.
Best Answer
The matching pattern could be:
That means
In e.g. perl, the whole match and replace would look like:
The replacement part just takes the whole thing that matched and replaces it with the first block you remembered and appends a space. The coma is "dropped" because it's not in the first capturing group.