#1 : 23/07-15 18:06 David
Posts: 64
|
I'm trying to Modify a digit surrounded by 2 letter characters or the reverse
For example m3n to men H0mebuilding to Homebuilding 2O15 to 2015 So I want to be able to in the M3n instance Find a digit character surrounded by 2 letter characters Or the opposite, find a letter character surrounded by 2 digits How do I do this I know how to specify a number string (\d{4}) to specify a four digit number for example And I'm sure there must be an equivalent expression to specify a text string but I can't figure out how to specify text. Thanks. |
#2 : 30/07-15 23:35 Tester123
Posts: 92
|
Reply to #1:
Not exactly sure of what the overall rule is as the examples are quite varied, e.g. replace '3' with 'e', or 'number 0' with 'letter o' (will 4 be replaced with A for example, and 1's with I's, etc), but maybe here's something that might help a tiny bit... To get 'a digit surrounded by 2 characters': ([A-Za-z]+)(\d)([A-Za-z]+) To get 'a character surrounded by 2 digits': (\d+)([A-Za-z])(\d+) Each of the two examples has the same two components: '\d' and '[A-Za-z]'. Explanation: --------------- The () is used to define a group (which can later be identified by '\#' where # is the group number), e.g. \2 would be the second group (the single digit in the first case, and the single letter in the second case above) \d is used to denote a single digit (i.e. 0 to 9). [] is used to define a character set, basically any single character from the set. So [A-Za-z] means: any single character in the range A-Z (uppercase), or a-z (lowercase). The hyphen specifies a range, so you don't need to list every single element, e.g. these would all be valid: A-Z, a-z, 0-9. Note these is no space separating the ranges, as a space is treated literally as a another character in the list. The trailing '+' is a quantifier, and means one or more. For comparison, there is another quantifier '*' which means zero or more. Once you have the groups defined, you can manipulate them. Note: the expressions above are to identify the general patterns as described (e.g. digit within letters, or vice versa), and don't actually solve your examples listed. |
#3 : 09/08-15 02:34 David
Posts: 64
|
Reply to #2:
Tester thanks so much for the explanation it really helps a lot for many scenarios I can see I have come across previously and many in the future. Even though the formula doesn't specifically do what I want it really shows me what I really needed to know how to do. I already know the instances that have inaccurate spelling being used so I just needed to know how to specifically refer to letter characters vs digit characters and your explanation has taught me how to do that so thanks again for your effort in helping out someone you never met. Cheers From Canada. |