Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > microsoft.public.excel.programming > #110755
| From | GS <gs@v.invalid> |
|---|---|
| Newsgroups | microsoft.public.excel.programming |
| Subject | Re: Remove leading zeros from string |
| Date | 2018-10-14 09:52 -0400 |
| Organization | A noiseless patient Spider |
| Message-ID | <ppvhnl$99v$1@dont-email.me> (permalink) |
| References | <dddc43bc-8bc0-4e02-93fc-83c322b486a1@googlegroups.com> <8467ae2e-0389-433a-964c-9be21000076b@googlegroups.com> <ppulof$8l4$1@dont-email.me> <cf9d42dc-47a2-4d25-bce8-33f212329577@googlegroups.com> |
>>>
>>> ?Replace("32 01 22 88 03", "0", "")
>>
>> Oops! That's going to replac *ALL* zeros; - the task is to replace *LEADING*
>> ZEROS ONLY!!
>>
>
> I devised the following solution. Maybe using regular expressions
> is overkill, but it worked. Here it is:
>
> Public Sub MyReplace()
> ' Include"Microsoft VBScript Regular Expressions 5.5" in Tools->References
> Dim regEx As New VBScript_RegExp_55.RegExp
>
> Dim s1 As String
> Dim sFinal As String
> Dim sExample As String
>
> sExample = "01 07 08 22 88 06 04"
>
> ' Replace leading zeros (in middle of line)
> regEx.Pattern = " 0"
> regEx.Global = True
> regEx.IgnoreCase = False
> s1 = regEx.Replace(sExample, " ")
>
> ' Remove leading zeros (at beginning of line)
> regEx.Pattern = "^0"
> regEx.Global = True
> regEx.IgnoreCase = False
> sFinal = regEx.Replace(s1, "")
>
> MsgBox sFinal
>
> End Sub
>
>
> - Robert Crandall
Yep, too much typing for me! I already have functions for various filtering
needs; here's one for removing leading zeros...
Function NoPad_Zeros$(sText$)
' Returns a string with no leading zeros
Dim vTmp, n&
Application.Volatile
vTmp = Split(sText, " ")
For n = LBound(vTmp) To UBound(vTmp)
vTmp(n) = CLng(vTmp(n))
Next 'n
NoPad_Zeros = Join(vTmp, " ")
End Function
..that you can call from code OR use as a cell formula.
In the IW:
?nopad_zeros("01 07 08 22 88 06 04")
Returns 1 7 8 22 88 6 4
In a cell:
A1 contains 01 07 08 22 88 06 04
B1 contains =nopad_zeros(A1)
displays 1 7 8 22 88 6 4
--
Garry
Free usenet access at http://www.eternal-september.org
Classic VB Users Regroup!
comp.lang.basic.visual.misc
microsoft.public.vb.general.discussion
Back to microsoft.public.excel.programming | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Remove leading zeros from string Tatsujin <tatsujin.3.r@gmail.com> - 2018-10-13 04:08 -0700
Re: Remove leading zeros from string Claus Busch <claus_busch@t-online.de> - 2018-10-13 13:19 +0200
Re: Remove leading zeros from string Ramon-México <cesaramon@gmail.com> - 2018-10-13 21:00 -0700
Re: Remove leading zeros from string GS <gs@v.invalid> - 2018-10-14 01:55 -0400
Re: Remove leading zeros from string Tatsujin <tatsujin.3.r@gmail.com> - 2018-10-14 02:33 -0700
Re: Remove leading zeros from string GS <gs@v.invalid> - 2018-10-14 09:52 -0400
Re: Remove leading zeros from string GS <gs@v.invalid> - 2018-10-14 10:09 -0400
csiph-web