將該字元連續部分替換為指定的其它任意字元

2022-04-09 00:55:13 字數 1301 閱讀 3227

指定某字元,並將該字元連續部分數目替換為指定的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 ...