interface regReplace { find : RegExp ; replace : string ; } const regs = [ { find : /\s*[\*#=\|]*\s*(.+?)\s*$/mg , replace : '$1' } , { find : /([^\\])\\[tn]/g , replace : '$1' } , { find : /\\\\/g , replace : '\\' } , { find : /\|(\s*[\*#=\|]*)?\s*/g , replace : ' ' } , { find : /\|\s*$/g , replace : '' } , { find : /\*{2}(.+)\*{2}/g , replace : '$1' } , { find : /_{2}(.+)_{2}/g , replace : '$1' } , { find : /\/{2}(.+)\/{2}/g , replace : '$1' } , { find : /"{2}(.+)"{2}/g , replace : '$1' } , { find : /-{2}(.+)-{2}/g , replace : '$1' } , { find : /~{2}(.+)~{2}/g , replace : '$1' } , { find : /[\\/:*?"<>|]/g , replace : ' ' } ] ; export function Deal ( value ) { let title = value ; for ( let rp of regs ) { title = title . replace ( rp . find , rp . replace ) . trim ( ) ; } return title ; }