我发现a thread in the c# forums正是我需要的,但我需要用JavaScript。基本上我需要正则表达式,在短语的每个字符之间放置空格。
例如,
TEST
会变成
T E S T
解释会有所帮助,我对此不熟悉,所以请保持友善:)
我在一个只允许正则表达式代码的程序中构建我的项目,所以需要这样做。
答案 0 :(得分:5)
"TEST".replace(/(.)(?=.)/g, "$1 ")
// Outputs
// => T E S T
(.)
匹配单个字符。第1组中的捕获($1
)
(?=.)
积极向前看。检查捕获的角色是否后跟另一个角色。
"$1 "
替换字符串。 $1
包含第1组中捕获的字符,后跟空格
g
全局修饰符。对字符串中的所有匹配应用全局替换。
答案 1 :(得分:2)
答案 2 :(得分:0)
你说你想在JavaScript中使用它,然后你编辑了你的问题(在我发布这个答案之后)说你必须使用正则表达式。如果没有(对我来说很奇怪)的要求,您可以在JavaScript中使用split()
和join()
执行此操作,而无需使用正则表达式。
var myString = "TEST";
var result = myString.split('').join(' ');
console.log(result); // "T E S T"
对于这个以及到目前为止提供的所有正则表达式解决方案,如果你有特殊字符,这将是有问题的。例如,'foo bar'.split('').join(' ');
会返回意外结果。 'foo bar'.replace(/(.)(?=.)/g, "$1 ");
和'foo bar'.replace(/(.)(?!$)/g, "$1 ");
也是如此。但如果你知道你正在处理(比方说)ASCII安全文本,那么就不会有任何问题。