如何修剪java中字符串的前导或尾随字符?
例如,斜杠字符“/” - 我对空格不感兴趣,并希望在不同时间修剪前导或尾随字符。
答案 0 :(得分:71)
您可以使用
前导:
System.out.println("//test/me".replaceAll("^/+", ""));
追踪:
System.out.println("//test/me//".replaceAll("/+$", ""));
答案 1 :(得分:31)
您可以使用Apache StringUtils.stripStart修剪前导字符,或使用StringUtils.stripEnd修剪尾随字符。
例如:
System.out.println(StringUtils.stripStart("//test/me", "/"));
将输出:
测试/我
请注意,如果由于某种原因您无法使用整个StringUtils库,则可以删除相关部分as detailed here:
答案 2 :(得分:2)
如果要从字符串中删除前导字符,可以使用简单的迭代:
String removeLeadingChar(String s, char c) {
int i;
for(i = 0; i < s.length() && s.charAt(i) == c; ++i);
return s.substring(i);
}
如果您要删除任何尾随char
。
答案 3 :(得分:2)
如果运行时对您来说不是一个大问题,那么这段代码将证明非常有用。
public class StringTrimmer {
public static String trim(String string, char ch){
return trim(string, ch, ch);
}
public static String trim(String string, char leadingChar, char trailingChar){
return string.replaceAll("^["+leadingChar+"]+|["+trailingChar+"]+$", "");
}
public static String trim(String string, String regex){
return trim(string, regex, regex);
}
public static String trim(String string, String leadingRegex, String trailingRegex){
return string.replaceAll("^("+leadingRegex+")+|("+trailingRegex+")+$", "");
}
// test
public static void main(String[] args) {
System.out.println(trim("110100", '1', '0')); // outputs: 01
System.out.println(trim("**Aa0*#**", '*')); // outputs: Aa0*#
System.out.println(trim("123##22222", "12", "22")); // outputs: 3##2
System.out.println(trim("101101##10101", "101")); // outputs: ##10
System.out.println(trim("123##abcde", "\\d", "[c-e]")); // outputs: ##ab
}
}
答案 4 :(得分:1)
我从String str修剪前导和/或尾随String的版本。两个参数都可以为null。当str没有前导和/或尾随s时,它不会被改变。
String trim(String str, String s) {
String res = s == null ? str : str == null ? null : s.length() >= str.length() ? str : str.replaceFirst(s, "");
if ((res != null) && (s != null) && (res.length() >= s.length())) {
return res.substring(res.length() - s.length(), res.length()).equals(s) ? res.substring(0, res.length() - s.length()) : res;
}
return res;
}
答案 5 :(得分:1)
对于使用Spring的用户:
pm2 delete <id|name> && pm2 start ecosystem.config.js