1. 主页 > 大智慧

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>

本文由嘻道妙招独家原创,未经允许,严禁转载