View Single Post
  #1   Report Post  
Posted to microsoft.public.excel.programming
Mike NG Mike NG is offline
external usenet poster
 
Posts: 87
Default Behaviour of "Replace"

What do you think the expected result would be of the following

Function Squeeze(sString As String) As String

Squeeze = Trim(sString)
Squeeze = Replace(Squeeze, " ", " ") 'two spaces and one space

End Function

Dim X as String

X = "Two pints" '10 spaces
X = Squeeze(X)
Msgbox X
Msgbox Len(X)

Returns a string in which a specified substring has been replaced with
another substring a specified number of times.

Syntax

Replace(expression, find, replace[, start[, count[, compare]]])

The Replace function syntax has these named arguments:

Part Description
expression Required. String expression containing substring to replace.
find Required. Substring being searched for.
replace Required. Replacement substring.
start Optional. Position within expression where substring search is to
begin. If omitted, 1 is assumed.
count Optional. Number of substring substitutions to perform. If
omitted, the default value is €“1, which means make all possible
substitutions.


I'd expect all of the 10 spaces to be compressed into one. What do you
think

NB I only think this function works with XL2000 +


For my solution, I am going to have to call Squeeze recursively or
Replace repeatedly.
--
Mike