我正在研究一个反应项目。我有一个字符串,其中可能包含换行符。如何在每行的开头注入符号?什么是最有效的方式? (我正在考虑将字符串扩展为数组并在每行的开头添加聊天,但这似乎是一种非常低效的处理方式)
更改此
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"?
的每个实例后添加符号答案 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>