簡體   English   中英

使用正則表達式過濾字符串

[英]Filter a string using regular expression

我嘗試了以下代碼。 但是,結果不是我想要的。

$strLine = "100.11 Q9"
$sortString = StringRegExp ($strLine,'([0-9\.]{1,7})', $STR_REGEXPARRAYMATCH)
MsgBox(0, "", $sortString[0],2)

輸出顯示100.11 ,但我想要100.11 9 如何使用正則表達式以這種方式顯示它?

$sPattern = "([0-9\.]+)\sQ(\d+)"

$strLine = "100.11 Q9"
$sortString = StringRegExpReplace($strLine, $sPattern, '\1 \2')
MsgBox(0, "$sortString", $sortString, 2)

$strLine = "100.11 Q9"
$sortString = StringRegExp($strLine, $sPattern, 3); array of global matches.
For $i1 = 0 To UBound($sortString) -1
    MsgBox(0, "$sortString[" & $i1 & "]", $sortString[$i1], 2)
Next

模式是將兩個組分別為100.119

模式將首先用任何數字和點將組匹配,直到達到/s為止,它將匹配空格。 然后它將匹配Q 第二組匹配任何剩余的數字。

StringRegExpReplace將第一和第二組的整個字符串替換為空格。

StringRegExp將2組作為2個數組元素。

從您喜歡的兩種正則表達式中選擇1。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM