开发者

add a space/split up pairs of characters

How do you add a space/split up between each pair of characters.

eg 0x5C8934A3   -->  0x 5C 89 34 A3

I could use a macro but it just took to long to manualy set it up because the size of the strings.

what i know is how to find using. but i can not get the replace to work correctly Please show m开发者_运维知识库e how to preform this.

[0][x][0-9A-F]+    
match 
0x5C8934A3


Notepad++ has very limited regexes so you have to use something like this:

Search for

(..)

and replace with

\1 

(Note there is a space after the \1!)

(..) means find two characters and store them

\1 get the characters stored in the first capturing group

Precondition for this simple solution is that there are only such strings and nothing else. And it will then add an unneeded space after the word. If this is not not wanted you can remove it afterwards.


I don't have Notepad++ installed here, but on my editor you can search for \B(?=(?:[0-9A-F]{2})+\b) and replace all with a single space.

Explanation:

\B            # only match within words
(?=           # Assert that from the current position...
 (?:          # ...the following can be matched:
  [0-9A-F]{2} # a succession of two hexadecimal digits
 )+           # once or more,
 \b           # ending at a word boundary.
)             # End of lookahead


This regex will return groups of two non newline (\n) characters.

.{2}

If you want match \n too, use the character range [\s\S].

If you want to be explicit to match the hexadecimal pattern, you could use...

^(0x)([\da-z]{2})+

(be sure to use the i pattern modifier.)

You didn't specify your language, but you could then join the matches with a space character or do a replace with $0 (or whatever holds the entire match, such as $& in JavaScript).

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜