Javascript 如何使用正则表达式在大小写字符串中插入空格
我使用以下正则表达式将空格插入到大小写为驼峰的字符串中Javascript 如何使用正则表达式在大小写字符串中插入空格,javascript,regex,Javascript,Regex,我使用以下正则表达式将空格插入到大小写为驼峰的字符串中 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" 这很好,但是我还想在字符串中的任何数字之前和之后加空格,尽管我不想在单个数字之间插
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$10.10高价USD$1998.59595普通无变化报告NTPL1001KSE-100指数
应该成为
MRRP低价10.10美元高价1998.59595美元评论无变化报告NTPL 1001 KSE 100指数
请注意,-
已被删除
任何协助都将不胜感激
相关:。尝试此正则表达式并使用正向前瞻替换:
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
)嗯。。如此接近,但仍然有一个连字符“-”没有剥去。如何解决这个问题?这是运行代码@KMX,是否应该删除任何连字符?它们发生在哪里?仅在某些子字符串的结尾/开头?检查示例以应用RE-here“1001KSE-100INDEX”,因此必须删除hypen。@KMX我相应地更改了我的答案。@KMX如果您有另一个(甚至相关的)问题/任务,请为此单独创建一个问题。