下面的代码拆分数据,应用正则表达式,然后再次连接字符串(有一部分删除了单词之间的新行,因为我希望在单个块/行中输出段落):
输入:
Lorem ipsum dolor坐在一起
Ipsum dolor sit amet,consetetur eirmod tempor invidunt ut laboure
代码:
data = data.split('\n\n')
for (var i = 0; i < data.length; ++i) {
data[i] = '<p>' + data[i].replace(/\n(?=\w+)/g, ' ') + '</p>'
}
data = data.join('\n\n')
我认为输入将是:
<p>Lorem ipsum dolor sit amet</p>
<p>Ipsum dolor sit amet, consetetur eirmod tempor invidunt ut labore</p>
但不是,而是:
<p>Lorem ipsum dolor sit amet</p>
<p>Ipsum dolor sit amet, consetetur eirmod tempor invidunt ut labore
</p>
原因可能是什么?
如果您的输出在结束之前显示换行符
/* note that you cannot declare a multiline string in javascript
like you did. I'm using `Array.join()` to create the example data */
data = [
"Lorem ipsum dolor sit amet",
"",
"Ipsum dolor sit amet, consetetur",
"eirmod tempor invidunt ut labore"
].join("\n");
data = data.split('\n\n')
for (var i = 0; i < data.length; ++i) {
data[i] = '<p>' + data[i].replace(/\n(?=\w+)/g, ' ') + '</p>'
}
data = data.join('\n\n')
我认为您的原始字符串中有一个尾随换行符,但您可以通过稍微更改来解决问题。不要检查换行符后面是否有单词字符,而是检查后面是否没有空格字符:
var data = "Lorem ipsum dolor sit amet\n"
+ "\n"
+ "Ipsum dolor sit amet, consetetur\n"
+ "eirmod tempor invidunt ut labore\n";
var data = data.split('\n\n');
for (var i = 0; i < data.length; ++i) {
data[i] = '<p>' + data[i].replace(/\n(?!\s)/g, '') + '</p>'
}
data = data.join('\n\n');
console.log(data);
问题内容: 我有一个问题,为什么将main方法标记为 public ? 根据关于stackoverflow的回答,它声明为 静态 “该方法是静态的,因为否则会产生歧义:应调用哪个构造函数?” 但是,任何人都可以解释为什么总是将其宣布为 公开 吗? 问题答案: 启动程序的初始化软件必须能够看到以便可以调用它。
本文向大家介绍为什么eval要添加括号呢?相关面试题,主要包含被问及为什么eval要添加括号呢?时的应答技巧和注意事项,需要的朋友参考一下 没太理解题意,方法的调用是要加括号的啊…… 如果题目问的是为什么会有 这种调用形式的话,那是因为js规定在间接调用(无调用者上下文)时,其编译的代码会默认执行在顶层作用域。 例: 所以永远只会返回全局对象(该表达式可以作为的polyfill,并且无法被污染)
null 现在我是否感到困惑:如果我想访问中的第一个字符并将其存储在eax寄存器中,我希望汇编程序执行如下操作: 如果我需要访问存储在ARGV[1]中的第二个字符并将其存储在eax寄存器中,我希望汇编程序执行如下操作: 但相反,我看到编译器执行以下操作: null
本文向大家介绍html的img标签为什么要添加alt属性呢?相关面试题,主要包含被问及html的img标签为什么要添加alt属性呢?时的应答技巧和注意事项,需要的朋友参考一下 alt 属性是一个必需的属性,它规定在图像无法显示时的替代文本。 假设由于一些原因,用户无法查看图像,alt属性可以为图像提供替代的信息。比如: 网速太慢 src 属性中的错误 浏览器禁用图像 用户使用的是屏幕阅读器等 添加
问题内容: 当我加载该模块时: (来自http://www.freesoftwaremagazine.com/articles/drivers_linux?page=0,2) 该模块在2.6.39-02063904-generic(来自Ubuntu PPA)上被标记为in 且无法卸载。但是它在默认的2.6.38内核上可以正常工作。(均在Ubuntu 11.04 x86上)。 2.6.39中发生了什
我刚刚升级到spring-boot 2.1.3.release,由于这个新的类/方法,我不能拥有多个StreamsBuilderFactoryBean(只需要一个): 我得到这个错误: 我在想,也许使构造的bean成为一个主要的bean。任何帮助都超过感激! 编辑:我通过删除和来规避这个问题。因此,不起作用。