簡體   English   中英

用 javascript 中的各種場景替換字符串的更好方法

[英]better way to replace string with various scenarios in javascript

如何替換 javascript 中相同字符串的不同模式的特殊字符

我一次傳遞一個字符串,下面是字符串模式

var str1="2456 #02-567"
var result = str1.replace(/#/g, '')

var str1="2-567 2456"
var result = str1.replace(/^/g, '0')
for these strings

2456 #02-567 , 2456 02-567, 2456 2-567,2456 #2-567

Expected Output 
2456 02-567 
 ===========
for these strings
#02-567 2456 , 2-567 2456, 02-567 2456, #2-567 2456

Expected Output 
02-567 2456

可能有一個聰明的解決方案,但這應該有效:

 let str = ["2456 #02-567", "2456 02-567", "2456 2-567","2456 #2-567","#02-567 2456", "2-567 2456", "02-567 2456", "#2-567 2456","1234 12-345","1234 #12-345","#12-345 1234"]; //1234 12-345" or "1234 #12-345" or "#12-345 1234" for(let st of str) console.log(st.replace(/#?(\d)?(\d-)/g,replacer)) function replacer(match, p1, p2, offset, string){ let replaceSubString = p1 || "0"; replaceSubString += p2; return replaceSubString; }

我正在使用一個捕獲組(正則表達式括號中的表達式),它可以在將 function replace$1的第二個參數中引用(1 因為是第一個捕獲組)。 ? 而是指出該字符是可選的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM