39
A
回答
51
您可以使用
领导:
System.out.println("//test/me".replaceAll("^/+", ""));
追踪:
System.out.println("//test/me//".replaceAll("/+$", ""));
25
您可以使用Apache StringUtils.stripStart修剪前导字符,或使用StringUtils.stripEnd修剪尾随字符。
例如:
System.out.println(StringUtils.stripStart("//test/me", "/"));
将输出:
测试/我
请注意,如果由于某种原因,你不能使用全StringUtils的图书馆,你可以只需撕掉相关部件,as detailed here:
+1
这太好了! – 2018-01-11 11:11:06
1
我修剪的版本领导和/或字符串str尾部的String。两个参数都可以为null。当str没有前导和/或尾随时,它不会被改变。如果你想删除任何尾随char
String removeLeadingChar(String s, char c) {
int i;
for(i = 0; i < s.length() && s.charAt(i) == c; ++i);
return s.substring(i);
}
逻辑同样适用:
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;
}
2
,如果你想从一个字符串中删除前导字符,您可以使用一个简单的迭代。
0
装饰环,采用字符,字符串或正则表达式
如果运行时间是不是你的一个大问题,那么这段代码将被证明真的很有帮助。
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
}
}
相关问题
- 1. 修剪字符串
- 2. 从字符串的开头和结尾修剪特定字符
- 3. 正则表达式 - 字符串末尾的修剪字符
- 4. 从Javascript末尾修剪字符串
- 5. 需要修剪SQL中字符串的前11个字符
- 6. 从字符串修剪字符
- 7. 修剪Java中的字符串空白
- 8. 修剪字符和修剪字符串 - Python
- 9. 修剪字符串中的字符数的分隔符之后
- 10. C字符串有随机尾随字符,空终止问题?
- 11. 修剪字符串与Dapper.NET
- 12. Swift修剪字符串
- 13. 前导零的字符串剪切
- 14. 修剪字符串数组中的所有字符串
- 15. 删除或修剪在字符串的结尾回车
- 16. 在字符串中剪切字符串
- 17. 如何删除字符串中的重复字符串并修剪Java中的字符串中的空格?
- 18. 的Java:检查字符串结尾或特殊字符开头
- 19. 从VBA中的字符串中修剪空字符
- 20. 修剪DB2中的前3个字符
- 21. 字符串末尾的修饰字符串
- 22. 修剪一个字符串的结尾,如果它包含某个字符?
- 23. CSS3省略号剪切字符串结尾不同的字符
- 24. 如何根据字符修剪Swift中的字符串
- 25. 修剪字符串中的最后一个字符
- 26. 修剪字符串,删除C中的最后一个字符#
- 27. 从bash中的字符串修剪新行字符
- 28. 去除尾随或前导字符的NSString
- 29. JavaScript修剪字符
- 30. 在SQL Server中删除多个尾随字符 - Oracle相当于修剪(尾随)
这似乎很好...你可以[在线测试](http://ideone.com/shHHV9) – 2014-09-05 18:22:51
魔法如何发生?这是一个简单的替换完全后果。 – 2017-12-02 13:48:55