各位老大,请问如何将下面字符串 指定字符替换?
例如:
str="台湾是中国不可分割的一部份,无论任何时间,我们都要警惕台湾岛内一些滋事分子,台独分子。台湾从古时候就是中国领土的一部分,我们都爱中国,台湾人都是中国人,我很想去台湾游玩,台湾省好漂亮,真是很多很好吃台湾小吃。"
我只希望将 这段 字符 的替换的要求是:
1)这段字符第一个 “台湾” ,替换成 “新疆” 。其他有台湾的字符不变。
2)“台独分子”替换成“疆独分子”
3) “台湾小吃”替换成 “新疆哈密瓜”
其他全部不变。
这样一来,不知道VBS应该怎么写比较好。 这段只是个例子, 我希望就是,无论任何字符串, 我替换的知识文章开始出现的字符,而不全部替换。 例如一段字符,从一开始到结束出现10个台湾, 我只替换第一个台湾,后面再出现的台湾就不替换了。 能不能实现呢?
谢谢各位?
------解决方案--------------------
js的话,就可以很方便只替换第一个,vbs的话,好象只能用字符串截取组合了,可以这么做
response.write(replaceFirst(str,"台湾","新疆"))
function replaceFirst(html,replaceSource,replaceValue)
if instr(html,replaceSource)<>0 then
html=left(html,instr(html,replaceSource)-1)&replaceValue&right(html,len(html)-instr(html,replaceSource)-len(replaceSource)+1)
end if
replaceFirst=html
end function
------解决方案--------------------
ASP的,(注意顺序不能错,就按如下)
<%
dim str
str="台湾是中国不可分割的一部份,无论任何时间,我们都要警惕台湾岛内一些滋事分子,台独分子。台湾从古时候就是中国领土的一部分,我们都爱中国,台湾人都是中国人,我很想去台湾游玩,台湾省好漂亮,真是很多很好吃台湾小吃。"
str=replace(str,"台湾小吃","新疆哈密瓜")
str=replace(str,"台独分子","疆独分子")
str=replace(str,"台湾","新疆")
resposne.write "替换结果:<br>" & str
%>
JAVASCRIPT 的,(注意顺序不能错,就按如下)
<script language="javascript" type="text/javascript">
var str;
str="台湾是中国不可分割的一部份,无论任何时间,我们都要警惕台湾岛内一些滋事分子,台独分子。台湾从古时候就是中国领土的一部分,我们都爱中国,台湾人都是中国人,我很想去台湾游玩,台湾省好漂亮,真是很多很好吃台湾小吃。" ;
str=str.replace("台湾小吃","新疆哈密瓜");
str=str.replace("台独分子","疆独分子");
str=str.replace("台湾","新疆");
alert("替换结果:n"+str);
</script>
------解决方案--------------------
- HTML code
<script language="JavaScript"> var arr=["台湾小吃","台独分子","台湾"]; var arr1=["新疆哈密瓜","疆独分子","新疆"]; s="台湾是中国不可分割的一部份,无论任何时间,我们都要警惕台湾岛内一些滋事分子,台独分子。台湾从古时候就是中国领土的一部分, 我们都爱中国,台湾人都是中国人,我很想去台湾游玩,台湾省好漂亮,真是很多很好吃台湾小吃。" for (var i=0;i<arr.length;i++){ s=s.replace(arr[i],arr1[i]); } alert(s) </script> ================================================ <% arr = Array("台湾小吃", "台独分子", "台湾") arr1 = Array("新疆哈密瓜", "疆独分子", "新疆") s = "台湾是中国不可分割的一部份,无论任何时间,我们都要警惕台湾岛内一些滋事分子,台独分子。台湾从古时候就是中国领土的一部分 " _ & ",我们都爱中国,台湾人都是中国人,我很想去台湾游玩,台湾省好漂亮,真是很多很好吃台湾小吃。" response.write replaceit(arr, arr1, s) '替换函数 Function replaceit(ByVal arr, ByVal arr1, ByVal s) pos = 0 For i = 0 To UBound(arr) pos = InStr(s, arr(i)) If pos > 0 Then t = pos + Len(arr(i)) a = Split(s, arr(i)) s = a(0) & arr1(i) & Mid(s, t, Len(s)) End If Next replaceit = s End Function %>