Page 1 of 1

写了个去除字符串头尾非数字函数有问题  Topic is solved

Posted: 12 Feb 2024, 05:15
by 1842909997
写了个去除字符串头尾的非数字字符,但处理后输出的字符串是空白

Code: Select all

rmvfront(Str)
{
  Str1 := Substr(Str, 1, 1)
  If Str1 is not integer
    Str := Substr(Str, 2)
  Return Str
}
rmvback(Str)
{
  Str1 := Substr(Str, 0, 1)
  If Str1 is not integer
    Str := Substr(Str, 1, Strlen(Str)-1)
  Return Str
}
Rmvstr(Str) ;移除头尾非数字字符
{
Loop {
  A1:=Substr(Str, 1, 1)
  If A1 is not integer
    {Str:=rmvfront(Str)
    continue ;下个循环 
  }
  If Substr(Str, 1, 1) is integer
    break ;跳出loop
}
;msgbox % Str
Loop {
  A1:=Substr(Str, 0, 1)
  If A1 is not integer
    {Str:=rmvback(Str)
    continue ;下个循环 
  }
  If Substr(Str, 0, 1) is integer
    break ;跳出loop
}
;msgbox % Str
}

!w::
A:="25+3"
msgbox %  A
A:=Rmvstr(A)
msgbox % A

Re: 写了个去除字符串头尾非数字函数有问题

Posted: 12 Feb 2024, 06:23
by thqby
RegExReplace(str, "^\D+|\D+$")