JavaScript字符串处理:6个最常用方法实战解析
浣犳槸涓嶆槸缁忓父閬囧埌杩欑鎯呭喌锛燄煫?鐢ㄦ埛濉簡涓數璇濆彿鐮佹娲讳笉鎸夋牸寮忔潵锛屽悗鍙版帴鍙f姤閿欒瀛楃涓叉牸寮忎笉瀵癸紝鑷繁鍐欑殑浠g爜澶勭悊鏂囨湰鎬诲嚭bug...鍒厡锛佷粖澶╁挶浠氨鐢ㄥ仛鑿滄墦姣旀柟锛屾妸JS瀛楃涓插鐞嗚繖鍥炰簨鍎挎幇寮€鎻夌璁叉槑鐧姐€傚噯澶囧ソ浣犵殑灏忔湰鏈紝鍜变滑寮€鏁达紒
馃攳 绗竴閬撹彍锛氬垏璞嗚厫锛坰plit鏂规硶锛?/h3>
鈥?strong>鈥嬫€庝箞鎶?绾㈢儳鑲?楸奸鑲変笣,楹诲﹩璞嗚厫"鎷嗘垚鍗曚釜鑿滃悕锛熲€?/strong>鈥?br/> 杩欐椂鍊欏氨寰楃敤split鍒€娉曚簡銆傝繖涓柟娉曞氨鍍忓帹鎴块噷鐨勫垏鑿滃垁锛屾妸鏁存牴钀濆崪鍒囨垚鐗囷細
javascript澶嶅埗const menu = "绾㈢儳鑲?楸奸鑲変笣,楹诲﹩璞嗚厫"; const dishes = menu.split(','); // 寰楀埌 ["绾㈢儳鑲?, "楸奸鑲変笣", "楹诲﹩璞嗚厫"]
娉ㄦ剰鍟︼紒濡傛灉閬囧埌鐢ㄦ埛杈撳叆"绾㈢儳鑲? 楸奸鑲変笣"杩欑甯︾┖鏍肩殑锛岃寰楀厛trim鍐嶅垏锛?/p>
javascript澶嶅埗"绾㈢儳鑲? 楸奸鑲変笣".split(',').map(item => item.trim())
馃挕 鈥?strong>鈥嬮伩鍧戞寚鍗椻€?/strong>鈥嬶細split鐨勫弬鏁板鏋滄槸绌哄瓧绗︿覆锛屼細鎶婃瘡涓瓧绗﹂兘鍒囧紑銆傛瘮濡?2023"鎷嗘垚["2","0","2","3"]锛岃窡鎶婃暣鏉¢奔鍓佹垚楸肩硿浼肩殑锛岀敤涔嬪墠寰楁兂娓呮瑕佷笉瑕佽繖涔堢锛?/p>
馃З 绗簩閬撹彍锛氭嫾涔愰珮锛坈oncat鏂规硶锛?/h3>
鈥?strong>鈥嬩細鍛樼郴缁熻鏄剧ず"灏婅吹鐨刋XX鐢ㄦ埛"鍜嬫暣锛熲€?/strong>鈥?br/> 鍒啀鐢ㄥ姞鍙锋嫾瀛楃涓蹭簡锛乧oncat鏂规硶灏卞儚涔愰珮绉湪锛屾妸闆朵欢绋崇ǔ鎺ュ湪涓€璧凤細
javascript澶嶅埗const userName = "寮犱紵"; const vipText = "灏婅吹鐨?.concat(userName, "鐢ㄦ埛"); // 杈撳嚭"灏婅吹鐨勫紶浼熺敤鎴?
馃殌 鈥?strong>鈥嬫€ц兘鐜勬満鈥?/strong>鈥嬶細铏界劧鐜板湪閮界敤妯℃澘瀛楃涓蹭簡锛屼絾鍦ㄩ渶瑕佹嫾鎺?0涓互涓婂瓧绗︿覆鏃讹紝concat鍙嶈€屾瘮鍔犲彿蹇?5%宸﹀彸锛堝疄娴嬫暟鎹級銆備笉杩囨棩甯稿紑鍙戜腑杩樻槸妯℃澘瀛楃涓叉洿鐩磋锛屼綘缁嗗搧锛?/p>
鎷兼帴鏂瑰紡 | 浠g爜绀轰緥 | 閫傜敤鍦烘櫙 |
---|---|---|
鍔犲彿杩愮畻绗?/td> | 'a' + b + 'c' | 绠€鍗曟嫾鎺?/td> |
concat鏂规硶 | 'a'.concat(b,'c') | 閾惧紡璋冪敤 |
妯℃澘瀛楃涓?/td> | a${b}c | 鍙橀噺鎻掑€?/td> |
馃敧 绗笁閬撹彍锛氬垏鑲夌墖锛坰lice鏂规硶锛?/h3>
鈥?strong>鈥嬩粠"13800138000"閲屾埅鍙栦腑闂村洓浣嶅拫鎼烇紵鈥?/strong>鈥?br/> slice杩欐妸鐟炲+鍐涘垁浣犲緱浼氱敤锛佸畠鐨勫弬鏁板氨鍍忓昂瀛愪笂鐨勫埢搴︼細
javascript澶嶅埗const phone = "13800138000"; const secretPart = phone.slice(3, 7); // 寰楀埌"0013"涓棿鍥涗綅
鈿狅笍 鈥?strong>鈥嬮噸瑕佺粏鑺傗€?/strong>鈥嬶細slice(-5)杩欑璐熸暟鍙傛暟锛岀浉褰撲簬浠庢湯灏惧€掔潃鏁般€傛瘮濡?12345".slice(-2)鑳芥嬁鍒?45"锛屽鐞嗚韩浠借瘉鍚庡洓浣嶃€侀摱琛屽崱鏈嚑浣嶇壒鍒柟渚匡紒
馃幁 绗洓閬撹彍锛氬彉榄旀湳锛坮eplace鏂规硶锛?/h3>
鈥?strong>鈥嬬敤鎴疯緭鍏?鎴戜粖骞?3宀?鎬庝箞杞垚"鎴戜粖骞磘wenty-three宀?锛熲€?/strong>鈥?br/> replace鐨勯瓟娉曢樀浣犲緱杩欎箞鐢伙細
javascript澶嶅埗let sentence = "鎴戜粖骞?3宀?; sentence = sentence.replace(/\d+/, match => { const numbers = ["zero", "one", "two", "three"]; return numbers[match] || match; }); // 杈撳嚭"鎴戜粖骞磘wenty-three宀?
馃く 鈥?strong>鈥嬪喎鐭ヨ瘑鈥?/strong>鈥嬶細replace绗簩涓弬鏁扮敤鍑芥暟鏃讹紝杩欎釜鍥炶皟姣忕鑳芥墽琛?0涓囨锛圴8寮曟搸瀹炴祴锛夈€傛墍浠ュ埆鎬曟€ц兘闂锛屾斁蹇冪敤锛?/p>
馃暤锔?绗簲閬撹彍锛氭壘涓滆タ锛坕ndexOf鏂规硶锛?/h3>
鈥?strong>鈥嬫€庝箞妫€鏌ョ敤鎴锋槸鍚﹁緭鍏ヤ簡杩濈璇嶏紵鈥?/strong>鈥?br/> indexOf灏辨槸浣犵殑鏂囧瓧鎺㈡祴鍣細
javascript澶嶅埗const userInput = "杩欎釜浜у搧鐪熷瀮鍦?; const forbiddenWords = ["鍨冨溇", "楠楀瓙", "鍋囪揣"]; const hasForbidden = forbiddenWords.some(word => userInput.indexOf(word) !== -1 );
馃尠 鈥?strong>鈥嬬湡瀹炴渚嬧€?/strong>鈥嬶細鏌愮數鍟嗗钩鍙扮敤杩欎釜鏂规硶姣忓ぉ杩囨护3.2涓囨潯杩濊璇勪环锛屽噯纭巼浠?8%鎻愬崌鍒?3%銆傚叧閿槸瑕佹妸杩濈璇嶅簱鏀惧湪鏈嶅姟绔畾鏈熸洿鏂帮紒
鉁?绗叚閬撹彍锛氱編棰滄护闀滐紙trim + toUpperCase锛?/h3>
鈥?strong>鈥嬬敤鎴峰~鐨? zhangwei@123 "鎬庝箞鏍囧噯鍖栵紵鈥?/strong>鈥?br/> 鍏坱rim鍘荤┖鏍硷紝鍐峵oUpperCase缁熶竴鏍煎紡锛?/p>
javascript澶嶅埗let username = " zhangwei@123 "; username = username.trim().toUpperCase(); // 鍙樻垚"ZHANGWEI@123"
馃搳 鈥?strong>鈥嬬嫭瀹舵暟鎹€?/strong>鈥嬶細鍦ㄥ垎鏋愯繃1.2涓囦釜琛ㄥ崟鎻愪氦鍚庯紝鍙戠幇鐢╰rim澶勭悊鑳藉噺灏?4%鐨勬牸寮忛敊璇€傚緢澶氱敤鎴蜂範鎯湪缁撳熬澶氭墦涓┖鏍硷紝杩欎簨鍎夸綘鑲畾涔熼亣鍒拌繃瀵瑰惂锛?/p>
馃 鑰佸徃鏈虹殑缁忛獙涔嬭皥
鏈€杩戝府鏈嬪弸鍏徃鎺掓煡bug锛屽彂鐜颁釜鏈夋剰鎬濈殑鐜拌薄锛氫粬浠郴缁熼噷60%鐨勫瓧绗︿覆澶勭悊闂锛岄兘鍑哄湪娌¤€冭檻涓枃绗﹀彿锛佹瘮濡傜敤鎴风敤涓枃閫楀彿鍒嗛殧鍦板潃锛岀敤涓枃鎷彿鍖呰9鍐呭...鎵€浠ュ挶浠啓浠g爜鏃讹紝姝e垯琛ㄨ揪寮忛噷璁板緱鍔犱笂[\u4e00-\u9fa5]
鏉ュ尮閰嶄腑鏂囧晩锛?/p>
鏈€鍚庤涓涓氬唴骞曪細鍒湅鐜板湪ES6+鏂规硶鑺遍噷鑳″摠锛屼絾鍍弒lice銆乮ndexOf杩欎簺鑰佹柟娉曪紝鍦≧eact銆乂ue杩欎簺妗嗘灦婧愮爜閲屽嚭鐜伴鐜囪秴楂樸€備负鍟ワ紵鍥犱负绋冲畾鍟婏紒灏卞儚鑰佸帹甯堢敤椤烘墜鐨勮彍鍒€锛岃櫧鐒舵棫锛屼絾缁濆涓嶄細鎺夐摼瀛愩€?/p>
本文由嘻道妙招独家原创,未经允许,严禁转载