我有点像Javascript和一般的正则表达式,并且会感谢我能得到的所有帮助!
考虑以下命令:[无论在何处执行]
/禁止汤姆{打破规则} 5
我需要做的是检测{}之间的字符串,用那里的下划线替换空格(_)并删除新字符串周围的花括号。 结果示例:
/禁止Tom Breaking_The_Rules 5
谢谢, 汤姆。
答案 0 :(得分:0)
使用string.toCharArray()并解析数组以匹配{和空格以替换它们。
答案 1 :(得分:0)
你真的不需要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>
答案 2 :(得分:0)
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);
答案 3 :(得分:0)
// 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
This post提供了大部分信息,我只是将其改编为javascript。