相关疑难解决方法(0)

Java 11中的String trim()和strip()方法之间的区别

在其他更改中,JDK 11为java.lang.String类引入了6种新方法:

  • repeat(int)- 重复String的次数与int参数提供的次数相同
  • lines() - 使用Spliterator延迟提供源字符串中的行
  • isBlank() - 指示String是否为空或仅包含空格字符
  • stripLeading() - 从头开始​​删除空白区域
  • stripTrailing() - 从末端移除空白区域
  • strip() - 从字符串的开头和结尾删除空白区域

特别是,strip()看起来非常相似trim().根据这篇文章, strip*()方法旨在:

String.strip(),String.stripLeading()和String.stripTrailing()方法修剪目标字符串的正面,背面或正面和背面的空白[由Character.isWhiteSpace()确定].

String.trim() JavaDoc声明:

/**
  * Returns a string whose value is this string, with any leading and trailing
  * whitespace removed.
  * ...
  */
Run Code Online (Sandbox Code Playgroud)

这几乎与上面的引用相同.

究竟之间的差别String.trim(),并String.strip()因为Java的11?

java string trim strip java-11

81
推荐指数
4
解决办法
2万
查看次数

如何从字符串中修剪空格?

我正在为J2ME应用程序编写这个函数,所以我没有一些更高级/现代的Java类可供我使用.我正在接受java.lang.ArrayIndexOutOfBoundsException这个.所以,显然要么它不喜欢我初始化newChars数组的方式,要么我在调用时没有正确地做某事System.arraycopy.

/*
 * remove any leading and trailing spaces
 */
public static String trim(String str) {
    char[] chars = str.toCharArray();
    int len = chars.length;
    // leading
    while ( (len > 0 ) && ( chars[0] == ' ' ) ) {
        char[] newChars = new char[] {}; // initialize empty array
        System.arraycopy(chars, 1, newChars, 0, len - 1);
        chars = newChars;
        len = chars.length;
    }
    // TODO: trailing
    return chars.toString();
}
Run Code Online (Sandbox Code Playgroud)

java java-me

26
推荐指数
2
解决办法
5万
查看次数

删除java中字符串末尾的空格

可能重复:
从Java字符串中删除前导和尾随空格

当我将数据导入应用程序时,我需要摆脱某些字符串末尾的空格而不是开头的空格,所以我不能使用trim()...我已经设置了一个方法:

public static String quitarEspaciosFinal(String cadena) {
    String[] trozos = cadena.split(" ");
    String ultimoTrozo = trozos[trozos.length-1];
    return cadena.substring(0,cadena.lastIndexOf(ultimoTrozo.charAt(ultimoTrozo.length()-1))+1);
    }
Run Code Online (Sandbox Code Playgroud)

其中cadena是我必须改变的字符串......

所以,如果cadena ="1234",这种方法会返回"1234"......

我想知道是否有更有效的方法来做到这一点......

java string spaces

9
推荐指数
5
解决办法
4万
查看次数

如何从Java中的字符串中删除前导和尾随空格?

我想从字符串中删除前导和尾随空格:

String s = "          Hello World                    ";
Run Code Online (Sandbox Code Playgroud)

我希望结果如下:

s == "Hello world";
Run Code Online (Sandbox Code Playgroud)

java whitespace

4
推荐指数
1
解决办法
5万
查看次数

删除每行开头的空格并结束每行的结尾

我有一个这样的字符串:

Mr Moh Jo\n
Address\n
 33333 City\n\n
Aland Islands
Run Code Online (Sandbox Code Playgroud)

我想删除每行开头的空格并使用以下代码结束每行的结尾,但它不起作用

    public static String trimWhiteSpaceFromTheBeginingAndEndOFTheLine(
        String string) {
    Pattern trimmer = Pattern.compile("^\\s+|\\s+$");
    Matcher m = trimmer.matcher(string);
    StringBuffer out = new StringBuffer();
    while (m.find())
        m.appendReplacement(out, "");
    m.appendTail(out);

    return out.toString();
}
Run Code Online (Sandbox Code Playgroud)

预期结果:

Mr Moh Jo\n
Address\n
33333 City\n\n
Aland Islands
Run Code Online (Sandbox Code Playgroud)

java regex

1
推荐指数
1
解决办法
3380
查看次数

如何查找给定日期在指定日期范围内

这是我的代码

boolean isWithinRange(String d)
{
    boolean withinDate = false;   
    try
    {
        DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
        Date date = dateFormat.parse(d);
        withinDate = !(date.before(startDate) || date.after(endDate));
    }
    catch (ParseException parseException)
    {
     }
    return withinDate;
}
Run Code Online (Sandbox Code Playgroud)

输入

2015-11-26
2015-11-26 - 复制

两者都返回 true,但我需要的是“2015-11-26”应该为 true,“2015-11-26 - Copy”应该为 false。

java date-format simpledateformat

1
推荐指数
1
解决办法
106
查看次数

你如何使用string.trim()方法只在最后修剪白色空格?

你如何使用string.trim()方法只在最后修剪白色空格?

我的意思是不影响正面的空间

ex:输入:"这是linkedin"o/p:"这是linkedin"

.net java string c#-4.0

-3
推荐指数
1
解决办法
392
查看次数