21 lines
410 B
TypeScript
21 lines
410 B
TypeScript
export abstract class TextReplacement
|
|
{
|
|
abstract replace( source:string ):string;
|
|
}
|
|
|
|
export class RegexReplacement extends TextReplacement
|
|
{
|
|
regex:RegExp;
|
|
replacement:string;
|
|
|
|
toString()
|
|
{
|
|
let info = `RegexReplacement{${this.regex} >> '${this.replacement}'`;
|
|
return info;
|
|
}
|
|
|
|
replace( source:string )
|
|
{
|
|
return source.replace( this.regex, this.replacement );
|
|
}
|
|
} |