【问题标题】:Why do I get blank spaces after splitting the string by dot? [duplicate]为什么按点分割字符串后会出现空格? [复制]
【发布时间】:2014-05-18 03:49:26
【问题描述】:

我正在尝试将 String 拆分为 .

String sentences[] = fileContent.split(".");

fileContent 是一个字符串,其中包含来自文件的完整文本数据。文件中有 4 个句子,其中一些用空格隔开。

当我打印 sentences[n] 时,它会给出一个 blank 。为什么sentences.length 打印 95 时会这样。

fileContent 中的数据结构如下:(无意义文本)

My name is suhail. His name is suhail.

He was playing with suhail. He is cool and loves suhail.

【问题讨论】:

    标签: java


    【解决方案1】:

    您必须转义点字符,因为split() 需要 regex(正则表达式),而不是纯字符串:

    String sentences[] = fileContent.split("\\.");
    

    【讨论】:

    • 要从Rose is a flower 中获取令牌,我可以这样写:split("\\ ") 吗?
    • 没有。您必须转义点,因为它代表正则表达式中的 特殊字符。如果要按单个空格分隔,请使用split(" ")。如果你想用任何空格分割你可以使用split("\\s+")。我会建议您阅读有关 regex 的内容,以便了解如何使用它。
    • 值得一提的是,点在 RegEx 中具有特殊含义——这就是它需要转义的原因——而空格没有特殊含义——这就是它没有特殊含义的原因。 t需要被转义。
    猜你喜欢
    • 2013-10-11
    • 2014-12-30
    • 1970-01-01
    • 2013-03-03
    • 2011-12-15
    • 1970-01-01
    • 1970-01-01
    • 2017-11-10
    • 2010-09-24
    相关资源
    最近更新 更多