指定某字元,並將該字元連續部分數目替換為指定的1個字元。
如呼叫:regexreplace("abc%%%%%de%%fghijk%%","%","*")
結果將得到:abc*de*fghijk*
'傳入:%%%%exe%%%%%%%.dll
'結果:%exe%.dll
'by gary 20130308
private
function regexreplace(byval expression as
string, optional
byval find as variant = "
%", optional
byval
replace
as variant = "
%") as
string
onerror
goto
errhandler
dim rtstr as
string, arrexpression() as
string
dim i as
integer
iflen(trim(expression)) <= 0
then
exit function
arrexpression() = split
(expression, find)
'如: 傳入的 expression 變數值為:%exe%%txt%%% 得到的結果應該為:%exe%txt%
'當第乙個字元為 find 傳入的字元時,不會加在字串中,會被過濾掉。此句就解決了這個問題
ifleft(expression, 1) = find then rtstr =find
for i = 0
toubound
(arrexpression)
if arrexpression(i) <> ""
then
if i = ubound(arrexpression) then
rtstr = rtstr &arrexpression(i)
else
rtstr = rtstr & arrexpression(i) &find
endif
endif
next
erase
arrexpression()
regexreplace =rtstr
exit function
errhandler:
regexreplace = ""
end function
CString將字元 n 替換為指定字串
最近寫乙個excel批量處理的程式,需要將換行符替換為 r n 但是想了很多辦法卻不能實現,如下 本來是要將 r n 替換為 r n 但是發現從excel或其他檔案中讀取出來的字串在二進位制視窗中發現只有換行符,即 n ascii碼為0a 而回車 r ascii碼為0d 卻沒有了,因此使用cstri...
替換字串中連續出現的指定字串
給定三個字串str,from和to,把str中所有的from的子串全部替換成to字串,對連續出現的from的部分要求只替換成乙個to字串,返回最終的結果字串。舉個栗子 str 123abc from abc to 4567 返回 1234567 str 123 from abc to 456 返回 ...
替換字串中連續出現的指定字串
題目 給定三個字串str,from和to,已知from字串中無重複字元,把str中所有from的子串全部替換成to字串,對連續出現from的部分要求只替換成乙個to字串,返回最終的結果字串 public string replace string str,string from,string to ...