7

如何删除 Java 中的第一个空格?

现在我正在使用这个:

if (str.charAt(0) == ' ') str = str.replace(" ", "");
4

7 回答 7

27

只需使用str.trim()摆脱所有前导和尾随空格。

于 2013-03-21T21:42:13.157 回答
14

使用replaceFirst()而不是replace().

摆脱您可以使用的所有前导空格

str = str.replaceFirst("^ *", "");

^只是为了确保空格实际上位于字符串的开头,这似乎是您想要的。如果不是这种情况,只需将其删除。

于 2013-03-21T21:36:56.920 回答
3

您可以使用修剪()

newString = stringToTrim.trim();

这将修剪字符串的两侧......开始和结束......不确定是否有帮助。

更多信息在这里... http://docs.oracle.com/javase/7/docs/api/

于 2013-03-21T21:43:29.457 回答
2

您也可以使用String.substring()

调用s.substring(1)将返回除字符串的第一个字符之外的所有内容s

这适用于您的特定问题,因为您只想删除第一个字符(如果它是空格)。

if (str.charAt(0) == ' ') {
     str = str.substring(1);
}
于 2013-03-21T21:38:36.120 回答
1

你想要第一个还是第一个和最后一个?

trim()将从字符串的开头和结尾删除您想要的内容。否则,Keppil 的答案有效。

于 2013-03-21T21:38:45.107 回答
-1

您可以将该Character.isWhitespace方法实现到您的代码中。

链接在这里: http: //msdn.microsoft.com/en-us/library/aa989424 (v=vs.80).aspx

于 2013-03-22T01:09:11.430 回答
-1
  int charStartPos = 0;
  for (int i = 0; i < text.length(); i++) {
     Char character = text.charAt(i);
     if (character == ' ' || character == '\t' || character == '\n') {
        charStartPos = i + 1;
     } else {
        break;
     }
  }
  text = text.substring(charStartPos);
于 2021-02-02T16:49:58.867 回答