如何把第一个空格替换成"#"
字符串如果第一个是空格则替换成"#"。
只讲第一个替换。
如何实现最简单?
问题点数:50、回复次数:8Top
1 楼liuxiaoyi666(MSMVP 小猪妹荣誉马甲之八卦兔子)回复于 2005-04-25 08:14:39 得分 30
Replace 函数
请参阅
Filter 函数
要求
版本 2
返回字符串,其中指定数目的某子字符串被替换为另一个子字符串。
Replace(expression, find, replacewith[, compare[, count[, start]]])
参数
expression
必选项。字符串表达式包含要替代的子字符串。
Find
必选项。被搜索的子字符串。
Replacewith
必选项。用于替换的子字符串。
Start
可选项。expression 中开始搜索子字符串的位置。如果省略,默认值为 1。在和count 关联时必须用
count
可选项。执行子字符串替换的数目。如果省略,默认值为 -1,表示进行所有可能的替换。在和 start 关联时必须用。
Compare
可选项。指示在计算子字符串时使用的比较类型的数值。有关数值,请参阅“设置”部分。如果省略,缺省值为 0 ,这意味着必须进行二进制比较。
设置
compare 参数可以有以下值:
常数 值 描述
vbBinaryCompare 0 执行二进制比较。
vbTextCompare 1 执行文本比较。
返回值
Replace 返回以下值:
如果 Replace 返回
expression 为零长度 零长度字符串 ("")。
expression 为 Null 错误。
find 为零长度 expression 的副本。
replacewith 为零长度 expression 的副本,其中删除了所有由 find 参数指定的内容。
start > Len(expression) 零长度字符串。
count 为 0 expression 的副本。
说明
Replace 函数的返回值是经过替换(从由 start 指定的位置开始到 expression 字符串的结尾)后的字符串,而不是原始字符串从开始至结尾的副本。
下面的示例利用 Replace 函数返回字符串:
Dim MyString
MyString = Replace("XXpXXPXXp", "p", "Y") '二进制比较从字符串左端开始。返回 "XXYXXPXXY"。
MyString = Replace("XXpXXPXXp", "p", "Y", '文本比较从第三个字符开始。返回 "YXXYXXY"。3,, -1, 1)
要求
版本 2
replace(str," ","#",1,1)Top
2 楼myshun(瞬)回复于 2005-04-25 09:33:23 得分 10
"liuxiaoyi666(兔子)"已经把Replace 函数的用法说的很详细了,方法很好。
不过也有一个比较麻烦的方法:首先用InStr(string1,string2)函数取出第一个空格的位置,然后用Left(string,num)和Right(string,num)得到前半段和后半段字符串,再用Replace(string1,string2,string3)函数替换前半段字符串中的空格为"#",最后用“&”再连接这两段字符串。呵呵,好麻烦。Top
3 楼QQgenie(妖魔鬼怪)回复于 2005-04-25 09:45:17 得分 10
呵呵
if Left(string,1)=" " then
string="#"&mid(string,2)
end ifTop
4 楼king2410(<职位空缺>→("︶.︶メ)( ̄ε ̄メ)←什么都不懂)回复于 2005-04-25 09:49:10 得分 0
晕,replace(string," ","#",1,1) 不是最好的办法吗
Top
5 楼iamduo(狄奥)回复于 2005-04-25 21:34:00 得分 0
我自己的方法
Function Replace_FirstBlank(expression)
If mid(expression,1,1)<>" " Then
Replace_FirstBlank =expression
Else
Dim reg
Set reg = New RegExp
reg.Pattern = " (.*?)"
reg.IgnoreCase = True
reg.Global = false
Replace_FirstBlank = reg.Replace(expression," $1")
Set reg=nothing
End If
End FunctionTop
6 楼zhutimy(慢刀手)回复于 2005-04-25 21:41:05 得分 0
<?php
$str=" abc d ";
if($str[0]==" "){
$str[0]="#";
}
echo $str;
?>
要的是这样吗?Top
7 楼qiqunet(瑞旗·广东)回复于 2005-04-25 22:01:01 得分 0
////////////////////////////////////////////////////////////////////
回复人: myshun(瞬) ( ) 信誉:100 2005-4-25 9:33:24 得分: 0
"liuxiaoyi666(兔子)"已经把Replace 函数的用法说的很详细了,方法很好。
不过也有一个比较麻烦的方法:首先用InStr(string1,string2)函数取出第一个空格的位置,然后用Left(string,num)和Right(string,num)得到前半段和后半段字符串,再用Replace(string1,string2,string3)函数替换前半段字符串中的空格为"#",最后用“&”再连接这两段字符串。呵呵,好麻烦。
/////////////////////////////////////////////////////////////
经典做法!!!!!!!!!!!!!!
////////////////////////////////////////////////
回复人: king2410(什么都不懂) ( ) 信誉:100 2005-4-25 9:49:10 得分: 0
晕,replace(string," ","#",1,1) 不是最好的办法吗
///////////////////////////////////////////
你试一下:
string="asss ssd"
replace(string," ","#",1,1)
就知道什么是最好的办法了!·#!#
Top
8 楼liuxiaoyi666(MSMVP 小猪妹荣誉马甲之八卦兔子)回复于 2005-04-25 23:10:10 得分 0
<SCRIPT LANGUAGE="vbScript">
for i=1 to 4
alert(FormatDateTime("2005-03-07",i))
next
str="2005-03-07"
str=formatdatetime(str,2)
msgbox str
stringttt="asss ssd"
stringttt=replace(stringttt," ","#",1,1)
alert(stringttt)
'http://community.csdn.net/Expert/topic/3915/3915115.xml?temp=.5134394 这个是word文档里用range的方法的
</SCRIPT>
赙赠点儿代码Top




