Tuesday, 20 August 2019

Find and replace n characters long random string in Notepad++ using wildcards/regex


I have a SQL dump with expressions such as youtubehd:2nj6bykw. The 2nj6bykw can also be a different random string. It is always 8 characters long.


I want to replace youtubehd:2nj6bykw with just youtubehd.


How can I do this without replacing it manually, one by one? The SQL dump is over 230000 lines long and has about 200 occurrences of these strings.


I suppose I need a wildcard, but I have no clue about what it is and how I can do this.



Answer



Please make sure you have a backup in case something goes wrong.



  • In Notepad++ go to Search → Replace

  • In the Find What textbox paste the following: youtubehd:\w\w\w\w\w\w\w\w

  • In the Replace With textbox paste the following: youtubehd

  • Ensure that Search Mode is set to Regular expression

  • Click Replace All


Thanks to KCotreau for pointing out that search mode defaults to Normal and needs to be changed.


Edit:


It's been pointed out in the comments below that you could instead use youtubehd:\w{8} as your search pattern. This is correct and indeed preferable. Support for this was only added in Notepad++ v6 though which came out after this was originally written hence the reason why I used the longer form. See here for more.


No comments:

Post a Comment

How can I VLOOKUP in multiple Excel documents?

I am trying to VLOOKUP reference data with around 400 seperate Excel files. Is it possible to do this in a quick way rather than doing it m...