Replace 用HTML和VBscript替换基于用户输入的单个字符

Replace 用HTML和VBscript替换基于用户输入的单个字符,replace,vbscript,asp-classic,Replace,Vbscript,Asp Classic,我制作了一个ans ASP,用户可以在其中输入数字、一个或多个字符和一个单词。然后他可以按下按钮,它将单词中给定的字符替换为给定的数字。 我的问题是,当用户输入更多字符时,如何让脚本替换单个字符? i、 e.条目是“ab”,单词是“abby”,数字是“1”,我当前的程序是“1by”,但我想让它成为“111y”,我是如何实现的 代替 比特扎尔艾因本酒店 比特布赫斯塔贝艾因本酒店 艾因格本苦艾酒 Verä;麦汁 函数将给定表达式(此处为l\u麦汁)中的搜索字符串(l\u字母)替换为替换字符

我制作了一个ans ASP,用户可以在其中输入数字、一个或多个字符和一个单词。然后他可以按下按钮,它将单词中给定的字符替换为给定的数字。 我的问题是,当用户输入更多字符时,如何让脚本替换单个字符? i、 e.条目是“ab”,单词是“abby”,数字是“1”,我当前的程序是“1by”,但我想让它成为“111y”,我是如何实现的


代替
比特扎尔艾因本酒店
比特布赫斯塔贝艾因本酒店
艾因格本苦艾酒
Verä;麦汁
函数将给定表达式(此处为
l\u麦汁
)中的搜索字符串(
l\u字母
)替换为替换字符串(
l\u zahl
)。要用
l_字母
替换
l_字母
中的所有字符,您需要对
l_字母
中的每个字符进行循环替换。但是,该函数不允许将字符串拆分为其字符数组。它以给定的分隔符字符(默认为空格)拆分字符串。对没有空格的变量调用
Split
,将得到一个数组,其中只有一个字段包含原始字符串。另外,VBScript不会在字符串中展开变量,因此如果将
变量
放在双引号中,则会得到文本字符串
“变量”
,而不是带有变量值的字符串

var=“ab”:分割(“var”)
⇒ <代码>[“var”]
var=“ab”:分割(var)
⇒ <代码>[“ab”]
var=“ab”:分割(var)
⇒ <代码>[“a”、“b”]

要从字符串中提取单个字符,请使用函数:

l_replace = l_wort
For i=1 To Len(l_letter)
    l_replace = Replace(l_replace, Mid(l_letter, i, 1), l_zahl)
Next
比在循环中进行多次替换更好的方法是使用替换:

Set re = New RegExp
re.Pattern = "[" & l_letter & "]"
l_replace = re.Replace(l_wort, l_zahl)
函数将给定表达式(此处为
l\u-wort
)中的搜索字符串(
l\u-letter
)替换为替换字符串(
l\u-zahl
)。要用
l_字母
替换
l_字母
中的所有字符,您需要对
l_字母
中的每个字符进行循环替换。但是,该函数不允许将字符串拆分为其字符数组。它以给定的分隔符字符(默认为空格)拆分字符串。对没有空格的变量调用
Split
,将得到一个数组,其中只有一个字段包含原始字符串。另外,VBScript不会在字符串中展开变量,因此如果将
变量
放在双引号中,则会得到文本字符串
“变量”
,而不是带有变量值的字符串

var=“ab”:分割(“var”)
⇒ <代码>[“var”]
var=“ab”:分割(var)
⇒ <代码>[“ab”]
var=“ab”:分割(var)
⇒ <代码>[“a”、“b”]

要从字符串中提取单个字符,请使用函数:

l_replace = l_wort
For i=1 To Len(l_letter)
    l_replace = Replace(l_replace, Mid(l_letter, i, 1), l_zahl)
Next
比在循环中进行多次替换更好的方法是使用替换:

Set re = New RegExp
re.Pattern = "[" & l_letter & "]"
l_replace = re.Replace(l_wort, l_zahl)

将字符输入视为要替换的字母列表/集合:

Option Explicit

Dim f : f = "ab"
Dim t : t = "1"
Dim w : w = "abby"

WScript.Echo f, t, w
Dim i
For i = 1 To Len(f)
    w = Replace(w, Mid(f, i, 1), t)
Next
WScript.Echo f, t, w
输出:

cscript 47469843.vbs
ab 1 abby
ab 1 111y

将字符输入视为要替换的字母列表/集合:

Option Explicit

Dim f : f = "ab"
Dim t : t = "1"
Dim w : w = "abby"

WScript.Echo f, t, w
Dim i
For i = 1 To Len(f)
    w = Replace(w, Mid(f, i, 1), t)
Next
WScript.Echo f, t, w
输出:

cscript 47469843.vbs
ab 1 abby
ab 1 111y