如何使用正则表达式在驼峰大小写字符串中插入空格

How to use regular expressions to insert space into a camel case string

本文关键字:字符串 插入 空格 大小写 何使用 正则表达式      更新时间:2023-09-26

我使用以下正则表达式将空格插入骆驼大小写字符串

var regex = /([A-Z])([A-Z])([a-z])|([a-z])([A-Z])/g;

范例用法
var str = "CSVFilesAreCoolButTXTRules";
str = str.replace( regex, '$1$4 $2$3$5' );
// "CSV Files Are Cool But TXT Rules"

这很好,但我也想在字符串中的任何数字之前和之后放置空格,尽管我不希望在单个数字之间插入空格,如果数字前面有一个$,那么空格应该在它前面,而不是在数字前面。

我还想删除除数字、字母、$符号和数字内的点.以外的任何字符。

例如

MRRPLowPriceUSD highpriceusd commentsnochangereportedntpl1001kse - 100 1998.59595美元10.10美元指数

应该成为

MRRP低价格USD $10.10高价格USD $1998.59595评论无变化报告NTPL 1001 KSE 100指数

注意-被移除。

如有任何帮助,不胜感激。

相关:putting-space-in-camel-case-string-using-regular-expression .

试试这个正则表达式并使用正向查找替换:

var regex = /([^A-Za-z0-9'.'$])|([A-Z])(?=[A-Z][a-z])|([^'-'$'.0-9])(?='$?[0-9]+(?:'.[0-9]+)?)|([0-9])(?=[^'.0-9])|([a-z])(?=[A-Z])/g;
var str = "CSVFilesAreCool123B--utTXTFoo12T&XTRules$123.99BAz";
str = str.replace(regex, '$2$3$4$5 ');
// CSV Files Are Cool 123 B ut TXT Foo 12 T XT Rules $123.99 B Az
(RegExr)