Replace
執行替換操作的函數
Replace是VB、ASP、Windows、SQL和Excel中的函數,功能都是執行替換操作。
replace()為Python的常用對象方法
替換字元串中的指定字元
>>> a = 'abc'
>>> a.replace('a', 'A')
'Abc'
注意:
replace()方法不能改變原始字元串,替換出來的字元串為內存新建字元串,並未改變原始變數指針。
示例:
>>> a = 'abc'
>>> b = a.replace('a', 'A')
>>> b
'Abc'
>>> a
'abc'
該函數返回一個字元串,其中指定的字元串已經被替換為另一字元串,並且替換的次數也可以指定。
Replace (Expression, Find, ReplaceWith [, Start] [, Count] [, Compare])
Replace函數參數 | |
---|---|
參數 | 描述 |
Expression | 必需的。字元串表達式,將要執行替換操作的字元串。 |
Find | 必需的。字元串表達式,要搜索的字元串。 |
ReplaceWith | 必需的。字元串表達式,用於替換的字元串。 |
Start | 可選的。數值表達式,決定從Expression開頭向結尾數的第幾位開始搜索,默認值為1。 |
Count | 可選的。數值表達式,限制進行替換的次數,默認值為-1,即進行所有的替換。 |
Compare | 可選的。數值表達式,決定判斷子字元串的比較方式。具體設置值見下“Compare參數設置值”表。 |
Compare參數設置值 | ||
---|---|---|
常數 | 值 | 描述 |
vbUseCompareOption | -1 | 使用Option Compare語句的設置值來執行比較。 |
vbBinaryCompare | 執行二進位比較。 | |
vbTextCompare | 1 | 執行文字比較。 |
vbDatabaseCompare | 2 | 僅用於Microsoft Access。基於資料庫的信息執行比較。 |
Replace函數返回值 | |
---|---|
情況 | 返回值 |
Expression長度為0 | 零長度字元串。 |
Expression為Null | 一個錯誤。 |
Find長度為0 | Expression的內容。 |
ReplaceWith長度為0 | 刪除了Find字元串的Expression內容。 |
Start大於Expression的長度 | 零長度字元串。 |
Count為0 | Expression的內容 |
其他(正常情況) | 將Find字元串替換為ReplaceWith字元串的Expression內容。 |
REPLACE使用其他文本字元串並根據所指定的 字元數替換某文本字元串中的部分文本,相類似的還有REPLACEB函數,使用其他文本字元串並根據所指定的 位元組數替換某文本字元串中的部分文本。
REPLACE(Old_text, Start_num, Num_chars, New_text)
REPLACEB(Old_text, Start_num, Num_bytes, New_text)
REPLACE和REPLACEB函數參數 | |
---|---|
參數 | 描述 |
Old_text | 必需的。要替換其部分字元的文本。 |
Start_num | 必需的。要用New_text替換的Old_text中字元的位置。 |
Num_chars | 必需的。希望使用New_text替換Old_text中 字元的個數。 |
Num_bytes | 必需的。希望使用New_text替換Old_text中 位元組的個數。 |
New_text | 必需的。將用於替換Old_text中字元的文本。 |
假設下面是Excel工作簿中的部分單元格。
A | B | |
1 | 數據 | |
2 | abcdefghijk | |
3 | 2009 | |
4 | 123456 | |
5 | 公式 | 結果 |
6 | =REPLACE(A2,6,5,"*") | 將A2單元格中第6個字元后的5個字元替換為“*”。結果為“abcde*k”。 |
7 | =REPLACE(A3,3,2,"10") | 在A3單元格中用10替換第3位往後的2位。結果為“2010”。 |
8 | =REPLACE(A4,1,3,"@") | 在A4單元格中用“@”替換前三個字元,結果為“@456”。 |
命令提示符中的Replace函數可以替換文件。
REPLACE [drive1:][path1]filename [drive2:][path2] [/A] [/P] [/R] [/W]
REPLACE [drive1:][path1]filename [drive2:][path2] [/P] [/R] [/S] [/W] [/U]
[drive1:][path1]filename 指定源文件。
[drive2:][path2] 指定要替換文件的目錄。
/A:把新文件加入目標目錄。不能和/S或/U命令行開關搭配使用。
/P:替換文件或加入源文件之前會先提示您進行確認。
/R:替換隻讀文件以及未受保護的文件。
/S:替換目標目錄中所有子目錄的文件。不能與/A命令開關搭配使用。
/W:等您插入磁碟以後再運行。
/U:只會替換或更新比源文件日期早的文件。不能與/A命令行開關搭配使用。
例如:replace C:/01.txt D:\表示將C盤的01.txt文件替換為D盤內的同名文件。
語法:stringObject.replace(regexp,replacement)
參數:
regexp:必需,規定了要替換的模式的 RegExp 對象。請注意,如果該值是一個字元串,則將它作為要檢索的直接量文本模式,而不是首先被轉換為 RegExp 對象。
replacement:必需,一個字元串值,規定了替換文本或生成替換文本的函數。
返回值:一個新的字元串,是用 replacement 替換了 regexp 的第一次匹配或所有匹配之後得到的。
如何使用 replace() 進行全局替換。
varstr="WelcometoMicrosoft!";
str=str+"WeareproudtoannouncethatMicrosofthas";
str=str+"oneofthelargestWebDeveloperssitesintheworld.";
document . write(str . replace(/Microsoft/g, "W3Schoo1"));
:
REPLACE(string,search_set[,replace_set])
該函數將字元串中所有出現的search_set都替換成replace_set字元串。可以使用該函將字元串中所有出現的符號都替換成某個有效的名字。如果不指定replace_set,則將從字元串string中刪除所有的搜索字元串search_set。
SELECT REPLACE('abcdefbdcdabc,dsssdcdrd','abc','ABC')
FROM dua