trouble with LEFT function

M

Middletree

My results after doing some stuff are going to have names separated by
commas. Example:

James & Beth Williams John & Mary Smith Ross & Rachel Gellar Willy & Wanda
Wonka


But the number of names is variable, so I put in commas between each one.
Then I end up with:

, James & Beth Williams, John & Mary Smith, Ross & Rachel Gellar, Willy &
Wanda Wonka

This is almost what I need, except that first comma. To get rid of it, I
tried doing a replace of the first character on the left, like this:

strFullName = Replace(strFullName,Left(strFullName,1),"")

However, this is yielding weird results.

What am I doing wrong in my replace function?
 
M

Middletree

I am not familiar with Mid.

At any rate, I got this error when I tried it:

Microsoft VBScript compilation (0x800A03EE)
Expected ')'
/dev/groupevents.asp, line 59, column 17
Mid(string, start[, length])
 
E

Evertjan.

Middletree wrote on 04 jan 2008 in
microsoft.public.inetserver.asp.general:
My results after doing some stuff are going to have names separated by
commas. Example:

James & Beth Williams John & Mary Smith Ross & Rachel Gellar Willy &
Wanda Wonka


But the number of names is variable, so I put in commas between each
one. Then I end up with:

, James & Beth Williams, John & Mary Smith, Ross & Rachel Gellar,
Willy & Wanda Wonka

This is almost what I need, except that first comma. To get rid of it,
I tried doing a replace of the first character on the left, like this:

strFullName = Replace(strFullName,Left(strFullName,1),"")

However, this is yielding weird results.

What am I doing wrong in my replace function?

I suppose you assume VBscript, which is not the only ASP language.

Try:

Dim t
t = ", James & Beth Williams, John & Mary Smith, Ross & Rachel Gellar"
t = Replace(t,", ","",1,1)

Explanation:
replacing the comma+space: ", "
with an empty string: ""
starting at the first letter: 1
and only once: 1

===============

Or using mid():

Dim t
t = ", James & Beth Williams, John & Mary Smith, Ross & Rachel Gellar"
t = mid(t,3)

Explanation:
new string t starts at the 3rd letter of the old one

===============

using ASP-j[ava]script is also a good option
making one line regex possible:

var t;
t = ', James & Beth Williams, John & Mary Smith, Ross & Rachel Gellar';
t = t.replace(/^, /,'');

Explanation:
replace
from the start: ^
the comma+space: ", "
non global: so only once
with an empty string ''

===============

I would urge you to read the specs on functions you use and not assume
them.

Download script56.chm:
<http://www.microsoft.com/downloads/>
 
M

Middletree

Dim t
t = ", James & Beth Williams, John & Mary Smith, Ross & Rachel Gellar"
t = Replace(t,", ","",1,1)

This did the trick. I had no idea Replace function allowed a starting ans
stopping point. Thanks very much.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,776
Messages
2,569,603
Members
45,189
Latest member
CryptoTaxSoftware

Latest Threads

Top