java如何把有换行的字符串弄到一行显示?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java如何把有换行的字符串弄到一行显示?相关的知识,希望对你有一定的参考价值。

String str="<Swim label="12" id="SW">
<Cell style="Swimlane" parent="1" vertex="1" connectable="0">
<Geometry x="240" y="48" width="408" height="72" as="geometry"/>
</Cell>
</Swim>"
把它变成String str="<Swim label="12" id="SW"><Cell style="Swimlane" parent="1" vertex="1" connectable="0">"
在一行显示?
谢谢大家的回答,
其实
String str="<Swim label="12" id="SW">
<Cell style="Swimlane" parent="1" vertex="1" connectable="0">
<Geometry x="240" y="48" width="408" height="72" as="geometry"/>
</Cell>
</Swim>"
在js端的一接收他就自动换行了
js相当于这样
var ="<Swim label="12" id="SW">
<Cell style="Swimlane" parent="1" vertex="1" connectable="0">
<Geometry x="240" y="48" width="408" height="72" as="geometry"/>
</Cell>
</Swim>"
"
js代码执行到第一行var ="<Swim label="12" id="SW">这就报错了,有一个换行
我的意思是想让他们在js端接收到值后在一行显示,或者是还有什么其它的办法解决这个问题
现在这个值是动态获取的,不是自定义的。调用什么方法,哪位大哥帮忙写详细点

通过读该也页面的文件,读其实就是一个遍历的过程,通过字符串的叠加,可以把该页面的文件
变成一行
参考技术A str=str.replaceAll("\n", "");本回答被提问者采纳 参考技术B sadasfa 参考技术C !! 参考技术D 先拼接,再显示

修复中间有换行的句子:Python is \n is fun

【中文标题】修复中间有换行的句子:Python is \\n is fun【英文标题】:Repair sentences that have line breaks in the middle of them: Python is \n is fun修复中间有换行的句子:Python is \n is fun 【发布时间】:2015-12-30 01:37:24 【问题描述】:

我目前正在使用 Apache Tika 从 PDF 中提取文本。我正在使用 NLTK 来执行命名实体识别和其他任务。我遇到了一个问题,即 pdf 文档中的句子被提取出来,中间有换行符。例如,

我是一个中间有一个python行\nbreak的句子。

该模式通常是一个空格,后跟一个换行符,&lt;space&gt;\n 或有时是&lt;space&gt;\n&lt;space&gt;。我想修复这些句子,以便对它们使用句子标记器。

我正在尝试使用正则表达式模式(.+?)(?:\r\n|\n)(.+[.!?]+[\s|$])\n 替换为

问题:

    另一个句子结束后在同一行开始的句子不匹配。

    如何匹配包含多行换行符的句子?换句话说,我如何允许(?:\r\n|\n)多次出现?

    text = """
    Random Data, Company
    2015
    
    This is a sentence that has line 
    break in the middle of it due to extracting from a PDF.
    
    How do I support
    3 line sentence 
    breaks please?
    
    HEADER HERE
    
    The first sentence will 
    match. However, this line will not match
    for some reason 
    that I cannot figure out.
    
    Portfolio: 
    http://DoNotMatchMeBecauseIHaveAPeriodInMe.com 
    
    Full Name 
    San Francisco, CA  
    94000
    
    1500 testing a number as the first word in
    a broken sentence.
    
    Match sentences with capital letters on the next line like 
    Wi-Fi.
    
    This line has 
    trailing spaces after exclamation mark!       
    """
    import re
    new_text = re.sub(pattern=r'(.+?)(?:\r\n|\n)(.+[.!?]+[\s|$])', repl='\g<1>\g<2>', string=text, flags=re.MULTILINE)
    print(new_text)
    
    expected_result = """
    Random Data, Company
    2015
    
    This is a sentence that has line break in the middle of it due to extracting from a PDF.
    
    How do I support 3 line sentence breaks please?
    
    HEADER HERE
    
    The first sentence will match. However, this line will not match for some reason that I cannot figure out.
    
    Portfolio: 
    http://DoNotMatchMeBecauseIHaveAPeriodInMe.com 
    
    Full Name 
    San Francisco, CA  
    94000
    
    1500 testing a number as the first word in a broken sentence.
    
    Match sentences with capital letters on the next line like Wi-Fi.
    
    This line has trailing spaces after exclamation mark!       
    """
    

Demo at regex101.com

【问题讨论】:

看起来您正在尝试使用(单个)RegEx 进行句子拆分。有这方面的工具,例如。 nltk.tokenize.PunktSentenceTokenizer,它允许您进行(无监督)训练,以了解有哪些缩写词(这些是英语等语言句子拆分中最难的部分)。我假设句子拆分器不会关心换行符或其他空格,无论它们在句子中的哪个位置。 【参考方案1】:

正则表达式不匹配末尾有空格的行,句子被分成 3 行就是这种情况。结果,句子没有合二为一。

这是另一种正则表达式,它将两个空行之间的所有行合并为一个,确保连接的行之间只有一个空格:

# The new regex
(\S)[ \t]*(?:\r\n|\n)[ \t]*(\S)
# The replacement string: \1 \2

解释 这将搜索任何非空格字符\S,然后是一个新行,然后是空格,然后是\S。它将两个 '\S' 之间的换行符和空格替换为一个空格。空格和制表符是明确给出的,因为\s 也匹配新行。这是demo link。

【讨论】:

以上是关于java如何把有换行的字符串弄到一行显示?的主要内容,如果未能解决你的问题,请参考以下文章

如何在TextArea里实现换行

textarea中的换行符怎样显示在网页中

SqlServer查询数据行中是不是有换行

java中实现换行的几种方法

修复中间有换行的句子:Python is \n is fun

从没有换行的键盘读取数据