【问题标题】:Trim String while preserving line breaks在保留换行符的同时修剪字符串
【发布时间】:2020-03-28 01:41:02
【问题描述】:

Stringtrim() 方法返回一个删除了前导和尾随空格的字符串,其中还包括换行符 ('\n')。我们如何在保持换行符的同时获得trim() 功能?

例如:"\n this is new line " -> "\nthis is new line"

【问题讨论】:

    标签: regex string kotlin removing-whitespace


    【解决方案1】:

    你可以用 replaceAll 代替

    编辑

        String str = "\n     this is new line    ";
        str = str.replaceAll("\n\\s+", "\n").replaceAll("\\s+$", "");
    
        System.out.println(str);
    

    输出

    这是新行

    【讨论】:

    • 感谢您的快速回复,最好处理换行后可以有多个空格的情况。
    • 我认为它不起作用,让我仔细检查一下。我正在使用 kotlin 并使用 replace 而不是 replaceAll
    • 如果你需要使用replace,那么使用"\n "并一直这样做直到String的大小没有改变
    • 非常感谢,我会尽量在kotlin中找到对应replaceAll的。
    • @Levon 我认为你想要kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/replace.html,特别是CharSequence#replace(Regex,String)
    【解决方案2】:
    fun main() {
      var str = "\n     this is new line    "
      str = str
        .replace("\n\\s+".toRegex(), "\n")
        .replace("\\s+$".toRegex(), "")
      println(str)
    }
    

    我想,这就是你想要的

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-12-05
      • 2018-08-21
      • 1970-01-01
      • 2010-09-06
      • 1970-01-01
      • 2014-11-27
      • 2013-09-24
      • 1970-01-01
      相关资源
      最近更新 更多