我目前正在开发一个项目,其中API会发出如下格式的描述:
这是标题这是一个段落。这是另一段。
我想要的结果是
这是一个标题
这是一个段落
这是另一段
我一直在玩一些正则表达式,但很难得到理想的结果,我目前的尝试是在每个大写字母/单词的末尾添加一个换行符。
var myString = "THIS IS A TITLE This is a paragraph of random text. This is another paragraph of random text.";
var myStringFormatted = myString.replace(/([A-Z]+)/g, ",$1").replace(/,/g," <br />").split(",");
是否有可能获得理想的结果? (jsfiddle例子:https://jsfiddle.net/srwwpxh4/1/)
答案 0 :(得分:7)
你可以使用积极的前瞻。
首先查找非单词字符,大写字母后跟小写字符,然后插入换行符。
var r = /\W+(?=[A-Z][a-z])/g,
s = 'THIS IS A TITLE This is a paraGraph. This is another paragraph.';
console.log(s.replace(r, '$&\n'));