簡體   English   中英

Javascript-檢測字符串中的某些字符並替換這些字符之間的內容

[英]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.

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