# Windows – Looking for a regular expression to work on a list of comma separated values

regexshell-scriptultraeditwindowswindows 7

I have line of 3 long numbers separated by comma.
What I want to do is to delete the number in the middle, and leave only first number and last number separated by a comma.

Currently:

123456789123,723456789123456,834567885544334
123456789125,723456789123457,834567885544333
123456789126,723456789123458,834567885544337


Desired result:

123456789123,834567885544334
123456789125,834567885544333
123456789126,834567885544337


I tried doing this, but it didn't work with these regular expressions:

• regular expression to find string: %[0-9]+,[0-9]+,[0-9]+
• regular expression to replace string: ^1,^2

Which regular expression actually does what I want to achieve?

Note – I'm currently using an application called Ultraedit that runs on Windows 7, if you recommend a better text editing application for Windows that can solve my problem please let me know.

You can simply replace the middle number of each line with nothing.

## In the editor

That is, in your editor, search-and-replace the regex

,[0-9]+,


(which only matches numbers with commas on both sides, which for your input is just the middle number) with a single comma:

,


I assume Ultraedit supports regex search-and-replace. If not, try Notepad++, which I know does.

## From the command line

Since you tagged your question , here's how to do it from the command-line.

## sed

Use sed, a standard Linux command also available for Windows as part of Cygwin or GnuWin32:

C:\>sed -e 's/,[0-9]+,/,/g' filename.txt


## Powershell

Jens pointed out that you can also do it in Windows Powershell; see this explanation.