[英]Javascript - Detect certain characters within a string and replace content between those characters
我有點喜歡Javascript和regex,因此我將不勝感激!
考慮以下命令:[在哪里執行都無關緊要]
/ Ban Tom {違反規則} 5
我需要做的是檢測{}之間的字符串,在其中用下划線(_)替換空格,並刪除新字符串周圍的大括號。 結果示例:
/班·湯姆Breaking_The_Rules 5
謝謝,湯姆。
使用string.toCharArray()並解析整個數組以匹配{,並用空格替換它們。
您實際上並不需要RegEx,因為這可以通過普通的javascript來實現:
<script type="text/javascript">
var str = "/Ban Tom {Breaking The Rules} 5";
var oldStr = str.substring(str.indexOf("{"), (str.indexOf("}") + 1));
var newStr = oldStr.replace(/ /g, "_").replace("{", "").replace("}", "");
alert(str.replace(oldStr, newStr));
</script>
var str = '/Ban Tom {Breaking The Rules} 5';
var patt=new RegExp('{[^}].*}',i);
var res = patt.exec(str);
//include res check here.....
var newStr = res[0].replace(/ /g, '_');
newStr = newStr.replace(/[{}]/g, '');
str = newStr.replace(res[0], newStr);
// The Message:
var foo = "/Ban Tom {Breaking The Rules} 5";
// Replace Whitespace in braces:
foo = foo.replace(/\s+(?=[^\{\}]*\})/g, "_");
//Replace braces with nothing:
foo.replace(/[\{\}]/g,""):
第一個正則表達式說明:
\s+ // Match whitespace
(?= // If followed by:
[^\{\}]* // Any number of characters except braces
\} // The closing brace
) // End of the lookahed
這篇文章提供了大多數信息,我只是將其改編成javascript。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.