是否有一种方便的方法来从Java String中去除任何前导或尾随空格?
就像是:
String myString = " keep this ";
String stripppedString = myString.strip();
System.out.println("no spaces:" + strippedString);
Run Code Online (Sandbox Code Playgroud)
结果:
no spaces:keep this
Run Code Online (Sandbox Code Playgroud)
myString.replace(" ","") 将取代keep和this之间的空间.
谢谢
在其他更改中,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 mystring = " brains T1* C+ ";
mystring = mystring.trim().replaceAll("[ ]+", " ");
Run Code Online (Sandbox Code Playgroud)
输出: brains T1* C+
但我的问题是:
是否可以制作一个正则表达式的装饰部分?
即 mystring.replaceAll("#regex");
我正在使用.replace方法删除字符串中的字符.我遇到的问题是我正在使用参数
.replace("#", "")
Run Code Online (Sandbox Code Playgroud)
从字符串中删除主题标签,例如"#hello".替换方法正在执行删除主题标签时所需的操作,但是当我使用它时,它会在字符串中留下实际的空白空间.所以"#hello"变成"你好",我真的希望它是"你好".我可以使用不同的方法或我可以用来实现我想要的不同参数吗?
我有一个这样的字符串:
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)