如何在JavaScript中为每个新行添加前缀?

时间:2017-05-30 20:20:38

标签: javascript string reactjs

我正在研究一个反应项目。我有一个字符串,其中可能包含换行符。如何在每行的开头注入符号?什么是最有效的方式? (我正在考虑将字符串扩展为数组并在每行的开头添加聊天,但这似乎是一种非常低效的处理方式)

更改此

var text = "Lorem ipsum dolor sit amet, 
consectetur adipiscing elit. 
Vestibulum pellentesque";

var text = "> Lorem ipsum dolor sit amet, 
> consectetur adipiscing elit. 
> Vestibulum pellentesque"

如何在" \ n"?

的每个实例后添加符号

2 个答案:

答案 0 :(得分:2)

也许您可以使用标记的模板文字(ES6)...

genderStatsOfClients :: [Client] -> [GenderStat]

的详细版本

for...of

function addPrefix(str) { let tmp = str[0].split('\n'), res = []; for (const frag of tmp) { res.push(`> ${frag}`); } return res.join('\n'); } let str = addPrefix`Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum pellentesque`; console.log(str);的单行(见Miguel的评论)

Array.prototype.map()

答案 1 :(得分:0)

要在字符串的每一行的开头插入内容,请将replace与正则表达式/^/gm一起使用,即str.replace(/^/gm, prefix)

const Formatter = ({text, prefix}) => (
  <textarea>{text.replace(/^/gm, prefix)}</textarea>
);

const text = `Lorem ipsum dolor sit amet, 
consectetur adipiscing elit. 
Vestibulum pellentesque`;

const prefix = '> ';

ReactDOM.render(<Formatter text={text} prefix={prefix}/>, document.querySelector('div'));
textarea { font-family: monospace; width: 100%; height: 4em; }
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>
<div></div>