Modify ↓
Opened 12 years ago
Closed 12 years ago
#2460 closed Bug (Fixed)
_StringBetween bug when $sStart = $sEnd
| Reported by: | jchd18 | Owned by: | Jpm |
|---|---|---|---|
| Milestone: | 3.3.9.22 | Component: | Standard UDFs |
| Version: | 3.3.9.21 | Severity: | None |
| Keywords: | Cc: |
Description
Local $aRes = _StringBetween("abbbaccca", "a", "a")
; "bbb" is between "a" and "a" and is returned OK
; "ccc" is also between "a" and "a" but is not returned _ArrayDisplay($aRes)
I propose the following change to fix this case:
Local $aRes = _StringBetween("abbbaccca", "a", "a")
; "bbb" is between "a" and "a"
; "ccc" is also between "a" and "a" and is now returned
_ArrayDisplay($aRes)
; #FUNCTION# ====================================================================================================================
; Author ........: SmOke_N (Thanks to Valik for helping with the new StringRegExp (?s)(?i) issue)
; Modified.......: SmOke_N - (Re-write for speed and accuracy), jchd
; ===============================================================================================================================
Func _StringBetween($sString, $sStart, $sEnd, $fCase = Default)
Local $sCase = "(?" & ($fCase ? "i" : "") & "s)"
; If you want data from beginning then replace blank start with beginning of string
$sStart = $sStart ? "\Q" & $sStart & "\E" : "\A"
; If you want data from a start to an end then replace blank with end of string
$sEnd = $sEnd ? "(?=\Q" & $sEnd & "\E)" : "\z"
Local $aReturn = StringRegExp($sString, $sCase & $sStart & "(.*?)" & $sEnd, 3)
If @error Then Return SetError(1, 0, 0)
Return $aReturn
EndFunc ;==>_StringBetween
Attachments (0)
Change History (1)
comment:1 Changed 12 years ago by Jpm
- Milestone set to 3.3.9.22
- Owner set to Jpm
- Resolution set to Fixed
- Status changed from new to closed
Guidelines for posting comments:
- You cannot re-open a ticket but you may still leave a comment if you have additional information to add.
- In-depth discussions should take place on the forum.
For more information see the full version of the ticket guidelines here.
Note: See
TracTickets for help on using
tickets.

Fixed by revision [9009] in version: 3.3.9.22