programing

문자열의 특수 문자를 _(밑줄)로 바꿉니다.

i4 2023. 8. 14. 22:27
반응형

문자열의 특수 문자를 _(밑줄)로 바꿉니다.

문자열에서 특수 문자를 제거하고 다음 문자로 대체합니다._성격.

예:

string = "img_realtime_tr~ading3$"

결과 문자열은 "img_realtime_tr_ading3_"과 같아야 합니다.

해당 문자를 교체해야 합니다.& / \ # , + ( ) $ ~ % .. ' " : * ? < > { }

string = string.replace(/[&\/\\#,+()$~%.'":*?<>{}]/g,'_');

또는 숫자와 문자를 제외한 모든 문자를 변경하려면 다음을 시도합니다.

string = string.replace(/[^a-zA-Z0-9]/g,'_');
string = string.replace(/[\W_]/g, "_");

let myStr = "img_realtime_tr~ading3$ #Amoos !"

const replaceAccentsChars = (str, charWith='-', regexType='NO_SPECIAL' ) => {
  
    if(!str) return
  
    const REGEX_TYPE = {
      'ALL': / /g,
      'NO_SPECIAL': /[^A-Z0-9]/ig,
      'SINGLE_FOR_MULTI': /[^A-Z0-9]+/ig,
    }

    return str.replace(REGEX_TYPE[regexType], charWith).toLowerCase()
}


console.log(
  replaceAccentsChars(myStr)
)

// Speical Chars Allowed & String as params
console.log(
  replaceAccentsChars(myStr, '*', 'ALL')
)

console.log(
  replaceAccentsChars(myStr, '_', 'SINGLE_FOR_MULTI')
)

언급URL : https://stackoverflow.com/questions/9705194/replace-special-characters-in-a-string-with-underscore

반응형