If you use –split as often as I do you probably had occasional issue with understanding why certain splits work as expected, and some produce results different from what you anticipated. Recently one of MVPs, Oisin Grehan, shed some light on the reason why this is the case. I thought it might be worth sharing in case you’ve had this issue and you are pulling your hair trying to figure out what’s going on.
We are very close to the end of Scripting Games 2013. But before we finish with event 6, time to say few words about event 5… This time I will focus on things I liked, and things I didn’t like, without paying too much attention to category where I’ve seen either.
It looks like I missed another deadline. Luckily, I’m not participating this year, so the only negative outcome of it is the fact that I will post my solution after most of you already seen entries done by others. I haven’t (I promise!) so you can expect many mistakes you’ve avoided by giving it second, third or fourth thought. I also had no chance to test it on some “real” material like some participants did (yes, I’ve seen your tweets and I’m sure you did it better, thank you for sharing! ). Wonder how I could improve it… Surely – will find out soon. One note: I decided to focus on IPv4. Mainly because I started so late, and didn’t wanted to spent too much time on handling IPv6 addresses, that are less obvious to match with regular expression (IMO).
I try to use regular expression as much as I can. Mainly because this gets really “rusty” very quickly when not used. What I like to use very often is PowerShell’s operator –replace. It works wonders, especially when combined with named and numbered captures. But there are situations where this syntax can be hard to apply. I was walking around those issues in the past until I finally came up with solution that seems obvious if you think of it for a minute – so I’m probably not the first one that came up with it. If you did it few years ago – please feel free to look down on me.