Post by A_AhkUser » 10 May 2017, 16:14
3litew0lf wrote:quisiera usar un metodo como el (IfInString, Var, searchstring)
pero que la cadena a buscar tenga que estar en las 2 ultimas posiciones y no en cualquier parte de la variable
Hola buenas tardes.
Puedes utilizar la funcion
InStr utilizando como
StartingPos parametro la longitud de la cadena - que puede ser rescatada utilizando
StrLen funcion - menos dos.
Code: Select all
; -------- ejemplo uno --------
cadena1 := "xxxxxxxxxxxxxxxxxxxxxx~~"
if (pos:=InStr(cadena1, "~~",, StrLen(cadena1) -2))
MsgBox, cadena una si
else
MsgBox, cadena una no
; -------- ejemplo dos --------
cadena2 := "xxxxxxxxxx~~xxxxxxxxxxxx"
if (pos:=InStr(cadena2, "~~",, StrLen(cadena2) -2))
MsgBox, cadena dos si
else
MsgBox, cadena dos no
; -------- ejemplo tres --------
cadena3 := "~~xxxxxxxxxxxxxxxxxxxxxx"
if (pos:=InStr(cadena3, "~~",, StrLen(cadena3) -2))
MsgBox, cadena tres si
else
MsgBox, cadena tres no
Suerte
[quote="3litew0lf"]quisiera usar un metodo como el (IfInString, Var, searchstring)
pero que la cadena a buscar tenga que estar en las 2 ultimas posiciones y no en cualquier parte de la variable[/quote]
Hola buenas tardes.
Puedes utilizar la funcion [url=https://www.autohotkey.com/docs/commands/InStr.htm]InStr[/url] utilizando como [i]StartingPos[/i] parametro la longitud de la cadena - que puede ser rescatada utilizando [url=https://www.autohotkey.com/docs/commands/StringLen.htm]StrLen[/url] funcion - menos dos.
[code]; -------- ejemplo uno --------
cadena1 := "xxxxxxxxxxxxxxxxxxxxxx~~"
if (pos:=InStr(cadena1, "~~",, StrLen(cadena1) -2))
MsgBox, cadena una si
else
MsgBox, cadena una no
; -------- ejemplo dos --------
cadena2 := "xxxxxxxxxx~~xxxxxxxxxxxx"
if (pos:=InStr(cadena2, "~~",, StrLen(cadena2) -2))
MsgBox, cadena dos si
else
MsgBox, cadena dos no
; -------- ejemplo tres --------
cadena3 := "~~xxxxxxxxxxxxxxxxxxxxxx"
if (pos:=InStr(cadena3, "~~",, StrLen(cadena3) -2))
MsgBox, cadena tres si
else
MsgBox, cadena tres no
[/code]
Suerte