Regex ahk-获取字符后的文本(空格)

Regex ahk-获取字符后的文本(空格),regex,string,get,autohotkey,Regex,String,Get,Autohotkey,我不熟悉自动热键。我试图删除每行上第一个空格的所有文本,获得其他所有内容 例如: txt1=something txt2=other thing var.="-1" " " txt1 " " txt2 "`n" var.="2" " " txt1 " " txt2 "`n" var.="4" " " txt1 " " txt2 "`n" ;; more add ... FinalVar:=var ;... msgbox % FinalVar RETURN 电流输出: -1 somethin

我不熟悉自动热键。我试图删除每行上第一个空格的所有文本,获得其他所有内容

例如:

txt1=something
txt2=other thing

var.="-1" " " txt1 " " txt2 "`n"
var.="2" " " txt1 " " txt2 "`n"
var.="4" " " txt1 " " txt2 "`n"
;; more add ...

FinalVar:=var
;...
msgbox % FinalVar
RETURN
电流输出:

-1 something other thing
2 something other thing
4 something other thing
我多么希望FinalVar whitout的所有行都需要循环:

something other thing
something other thing
something other thing
在bash中,我可以使用SED之类的东西

在ahk有没有快速的方法来做同样的事情


多亏了你的鼓励。对不起,我的英语

您可以使用以下命令的组合

仪表 从左侧或右侧搜索字符串的给定匹配项。 FoundPos:=仪器堆栈,指针,区分大小写:=错误,开始位置:=1,出现次数:=1

和指挥

SubStr 从字符串中的指定位置检索一个或多个字符。 NewStr:=子字符串,起始位置,长度

使用InStr可以找到var中第一个空格的位置

使用SubStr,将该位置后的所有内容提取到字符串末尾,如下所示:

StartingPos := InStr(var, " ")
var := SubStr(var, StartingPos + 1)
注意+1,因为需要在空格后的1个位置开始提取文本,否则空格将是提取文本中的第一个字符

替换所有可以使用的行中的前导文本

RegExReplace 替换模式正则表达式的引用 在一根绳子里面

NewStr:=regexreplacehastack,neederregex,Replacement:=,OutputVarCount:=,Limit:=-1,StartingPosition:=1

m`aare正则表达式选项,^.*.$是实际的搜索模式

我是多行的。如果需要,将Haystack视为单个线条的集合 它包含换行符,而不是作为单个连续行

`a:`a识别任何类型的换行符,即`r,`n,`r`n, `v/VT/vertical tab/chr0xB、`f/FF/formfeed/chr0xC和 NEL/下一行/chr0x85


是否可以同时从最终变量中删除所有行的这一部分,而不在此处循环许多行?我的印象是,您可以控制每一行,如果您只获得最终字符串,也许您应该查看我尝试过的FoundPos:=RegExMatchvar,但结果与您之前发布的内容一致,也可以获得第一行的位置。我如何在bash中使用sed获得FinalVar的所有行?感谢帮助..请尝试此FinalVar:=RegExReplacevar,ma^.*.*.$$2 `效果很好。但我不得不在var中添加`m`a,因为它在帖子格式中被删除了。非常感谢。
FinalVar := RegExReplace(var, "m`a)^(.*? )?(.*)$", "$2")