如何使用正则 在某个字符串中 插入字符[已解决]
本帖最后由 kk_lee69 于 2017-3-31 01:48 编辑如何使用正则 在某个字符串中 插入字符
字符串如下: B006,B005,,B005,,BA06,B5,,B005,B006
如何变成: 1101011011
,跟, 中間有字全部變成1沒有字 就變成0 只会一步步来.Local $str = 'B006,B005,,B005,,BA06,B5,,B005,B006'
Local $re = StringRegExpReplace($str, '\w+', '1')
$re = StringReplace($re, ',,', '0')
$re = StringReplace($re, ',', '')
MsgBox(0, '',1101011011 & @CRLF & $re) 回复 2# Alam
不過這樣會有個小問題 當 資料是
B001,,,,
這樣就無法變成 10000 回复 3# kk_lee69 Local $sStr = 'B006,B005,,,B5,,B005,,'
Local $aArray = StringSplit($sStr, ',')
Local $sRet = ''
For $i = 1 To $aArray
$sRet &= $aArray[$i] ? 1 : 0
Next
MsgBox(0, $sStr, $sRet) 回复 3# kk_lee69 Local $sStr = 'B006,B005,,,B5,,B005,,'
Local $sRet = StringRegExpReplace(StringRegExpReplace(StringRegExpReplace(StringRegExpReplace($sStr & ',', '[^,]+?,', '1,'), ',', '0,'), '10,', '1'), ',', '')
MsgBox(0, $sStr, $sRet) Local $sS = 'B006,B005,,B005,,BA06,B5,,B005,B006'
MsgBox(0, $sS, StringReplace(StringRegExpReplace($sS, '\w+,?', '1'), ',', 0)) 小白学习了,谢谢 回复 6# afan
感謝各位的回覆 小弟學習了 回复 5# haijie1223
感謝各位的回覆 小弟學習了 为什么那么多神。。人类膜拜中 学习了,各位大佬真厉害 楼上非常不错的方法
页:
[1]