Я сделал это в JavaScript, но само собой разумеется, что я не могу просто поменять его местами.
В Jscript я использовал это:
var estr = tx_val
index = 0
positions = []
while((index = estr.indexOf("e", index + 1)) != -1)
{
positions.push(index);
}
document.getElementById('ans6').innerHTML = "Locations of 'e' in string the are: "
+ positions;
Я пытался использовать ту же логику с терминами VBS, т.е. присоединение, я также пытался использовать InStr. Я просто не знаю, как вытащить это «е» ... Может быть, я попытаюсь заменить его другим персонажем.
Вот что я пробовал с VBScript. Я попытался использовать InStr и заменить, чтобы вырвать первое вхождение 'e' в каждом цикле и заменить его на 'x'. Я подумал, что, возможно, из-за этого следующий цикл покажет местоположение следующего 'e'. - Когда я не получаю нижний индекс из-за ошибки 'i', я получаю только одно местоположение из сценария и его 0.
(6) показывает расположение каждого вхождения символа «e» в строке «tx_val» в блоке span с id = "ans6"
countArr = array()
countArr = split(tx_val)
estr = tx_val
outhtml = ""
positions = array()
i=0
for each word in countArr
i= i+1
positions(i) = InStr(1,estr,"e",1)
estr = replace(estr,"e","x",1,1)
next
document.getElementById("ans6").innerHTML = "E is located at: " & positions
Что я могу сделать, что проще, чем это и работает? и спасибо заранее, вы все очень помогли.
ВНОВЬ РЕДАКТИРОВАТЬ: Наконец-то я все заработал. Я не на 100% как. Но я пробежал логику в своей голове несколько десятков раз, прежде чем написал ее, и после нескольких изломов она работает.
local = ""
simon = tx_val
place=(InStr(1,simon,"e"))
i=(len(simon))
count = tx_val
do
local = (local & " " & (InStr((place),simon,"e")))
place = InStr((place+1),simon,"e")
count = (InStr(1,simon,"e"))
loop while place <> 0
document.getElementById("ans6").innerHTML= local