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. numpy修剪字节字符串中的尾随零
- 2. 修剪字符串
- 3. 字符修剪结尾*
- 4. 字符串修剪/子字符串C#
- 5. 试图修剪'字符串'字符串?
- 6. 修剪字符串
- 7. 修剪字符串
- 8. 修剪字符串
- 9. 修剪Jquery中的前导字符
- 10. 正则表达式 - 字符串末尾的修剪字符
- 11. 从字符串的开头和结尾修剪特定字符
- 12. 从Javascript末尾修剪字符串
- 13. 需要修剪SQL中字符串的前11个字符
- 14. 从字符串修剪字符
- 15. 修剪Java中的字符串空白
- 16. 从字符串的开始或结尾修剪匹配字符C++
- 17. 尾随字符%
- 18. 如何通过符号修剪/剪切java中的字符串?
- 19. 修剪字符串NHibernate的
- 20. 修剪字符和修剪字符串 - Python
- 21. 修剪字符串中的字符数的分隔符之后
- 22. 在字符之后和之前修剪字符串
- 23. 随机尾随字符在C中打印一个字符串
- 24. 完全修剪字符串
- 25. 修剪字符串在Javascript
- 26. 修剪字符串与Dapper.NET
- 27. php修剪字符串
- 28. Swift修剪字符串
- 29. 回声修剪字符串
- 30. 的bash脚本 - 从字符串末尾除去尾随字符
这似乎很好...你可以[在线测试](http://ideone.com/shHHV9) – 2014-09-05 18:22:51
魔法如何发生?这是一个简单的替换完全后果。 – 2017-12-02 13:48:55