如何在某个字符后删除字符串中的空格?

时间:2015-02-27 17:06:39

标签: string replace vbscript asp-classic

我只是想知道是否有办法在字符串中的某个字符后替换所有空格。基本上是一个字符串;

str = "This is a test - 1, 2, 3, 4, 5"

我想基本上删除' - '之后的所有空格。

我知道怎么做
replace(str," ","") 

但这将删除所有空间,我想保留'这是一个测试 - "完整的,以便用户可读。我用过

Instr(str,"-") 

获取该角色的位置,但不知道如何从该点开始对该字符串的其余部分执行替换函数。

2 个答案:

答案 0 :(得分:3)

我会使用正则表达式但是如果你只是想使用字符串函数我认为这就是你要问的

str = "This is a test - 1, 2, 3, 4, 5"
chrPos = Instr(str,"-")
lStr = Left(str, chrPos + 1)
rStr = Replace(str , " " , "", chrPos+1)
wscript.echo lStr & rStr

结果是这是一个测试 - 1,2,3,4,5

答案 1 :(得分:1)

VBScript REPLACE函数有 start 参数,但它不能按预期方式工作。因此,您必须隔离要执行替换的部分:

Dim parts
parts = Split("This is a test - 1, 2, 3, 4, 5", "-", 2) ' returns array with 2 items (max)
Debug.Print parts(0) & "-" & Replace(parts(1), " ", "") ' replace and concatenate