【问题标题】:Remove text after a space [closed]删除空格后的文本[关闭]
【发布时间】:2013-07-08 04:00:50
【问题描述】:

我需要使用 Java 删除字符串中空格后的文本。

输入:

0 21343434
2 2323
6 232312


输出:

0
2
6

有人知道怎么做吗?只需要编辑字符串以删除空格后的所有内容吗?谢谢!

【问题讨论】:

  • 利用字符串类 indexOf 和 replaceAll 方法
  • 您可能应该先尝试一些基本代码,如果它不起作用,请将其粘贴到此处,而不是问“我该怎么做”的问题。

标签: java string character space


【解决方案1】:

使用正则表达式

字符串结果 = "0 21343434".replaceAll(" .+$", "");

【讨论】:

  • 伟大的.......................
【解决方案2】:
String string=  "0 21343434";
int spacePos = string.indexOf(" ");
if (spacePos > 0) {
   String youString= string.substring(0, spacePos - 1);
}

【讨论】:

  • 老实说,这是一种非常酷的方法来解决我以前从未见过的问题
  • 很好的答案!喜欢它
【解决方案3】:

使用 for 循环逐个字符解析字符串并搜索空值,然后将第一个字符保存到字符串并输出。

如果您是编程新手,我会向您推荐这个问题,您可以使用它来开始朝着您的问题的正确方向前进

Remove "empty" character from String

【讨论】:

    【解决方案4】:

    如果您需要将输出保存在文件中,您可以逐行读取输入,并在每行中读取第一个字符,然后将其保存到另一个文件中。最后删除第一个文件并将第二个文件的名称更改为第一个文件。

    【讨论】:

      【解决方案5】:

      真的很简单。使用 indexOf 方法、子字符串方法和 ?运算符来处理您的基本情况(无空格)和未来情况(1 个或多个空格)。

      String str = "hello world";
      int firstSpace = (str.indexOf(" ") >= 0) ? str.indexOf(" ") : str.length()-1;
      return str.substring(0,firstSpace);
      

      这也处理了没有空格的情况。如果根本没有空格, ?操作将返回字符串末尾的值。这反过来将输出整个字符串本身。下面是一些例子:

      输入:

      0 21343434
      2 2323
      6232312
      

      输出:

      0
      2
      6232312
      

      【讨论】:

        【解决方案6】:

        试试这个,

        String str =  "0 21343434";
        String[] vals = str.split(" ");
        if (vals.length > 1)
            String value = vals[0];
        

        【讨论】:

          猜你喜欢
          • 2022-07-22
          • 2023-03-25
          • 1970-01-01
          • 1970-01-01
          • 2021-02-18
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多