
當進行string.replace() 時, 若遇到多個字串須要replace 時, 因為JavaScript 預設只會執行第一個遇到的charset, 所以之後的不會進行. 若要令它全部取代, 則須要利用regular expression.
export class StringUtil {
public static replaceAll(value: string, originalValue: string, replaceValue: string, isCaseSensitive = false): string {
let result = value;
let regularExpressionFlag = 'g';
regularExpressionFlag += isCaseSensitive ? 'i' : '';
result = result.replace(new RegExp(originalValue, regularExpressionFlag), replaceValue);
return result;
}
}
其中於設定RegExp 時, ‘g’ 是指Global, 若要設為case insensitive, 則可以改為’gi’, 其中的’i’ 就是’insensitive’ 的意思.
Leave a Reply