在Java中删除部分字符串

我想从一个字符中删除一部分字符串,即:

源字符串:

manchester united (with nice players) 

目标字符串:

 manchester united 

有多种方法可以做到这一点。 如果您有要替换的字符串,则可以使用String类的replacereplaceAll方法。 如果您要替换子字符串,可以使用substring API获取子substring

例如

 String str = "manchester united (with nice players)"; System.out.println(str.replace("(with nice players)", "")); int index = str.indexOf("("); System.out.println(str.substring(0, index)); 

要替换“()”中的内容,您可以使用:

 int startIndex = str.indexOf("("); int endIndex = str.indexOf(")"); String replacement = "I AM JUST A REPLACEMENT"; String toBeReplaced = str.substring(startIndex + 1, endIndex); System.out.println(str.replace(toBeReplaced, replacement)); 

字符串替换

 String s = "manchester united (with nice players)"; s = s.replace(" (with nice players)", ""); 

编辑:

按索引

 s = s.substring(0, s.indexOf("(") - 1); 

使用String.Replace():

http://www.daniweb.com/software-development/java/threads/73139

例:

 String original = "manchester united (with nice players)"; String newString = original.replace(" (with nice players)",""); 

我首先将原始字符串拆分为带有标记“(”的字符串数组,并且输出数组的位置0处的字符串是您想要的。

 String[] output = originalString.split(" ("); String result = output[0]; 
 originalString.replaceFirst("[(].*?[)]", ""); 

https://ideone.com/jsZhSC
replaceFirst()可以替换为replaceAll()

您应该使用String对象的substring()方法。

这是一个示例代码:

假设:我在这里假设您要检索字符串,直到第一个括号

 String strTest = "manchester united(with nice players)"; /*Get the substring from the original string, with starting index 0, and ending index as position of th first parenthesis - 1 */ String strSub = strTest.subString(0,strTest.getIndex("(")-1); 

使用StringBuilder ,您可以替换以下方式。

 StringBuilder str = new StringBuilder("manchester united (with nice players)"); int startIdx = str.indexOf("("); int endIdx = str.indexOf(")"); str.replace(++startIdx, endIdx, ""); 

使用来自commons lang的StringUtils

空源字符串将返回null。 空(“”)源字符串将返回空字符串。 null remove字符串将返回源字符串。 空(“”)删除字符串将返回源字符串。

 String str = StringUtils.remove("Test remove", "remove"); System.out.println(str); //result will be "Test" 

您可以使用replace来修复您的字符串。 以下将返回“(”之前的所有内容,并且还会删除所有前导和尾随空格。如果字符串以“(”开头,它将保持原样。

 str = "manchester united (with nice players)" matched = str.match(/.*(?=\()/) str.replace(matched[0].strip) if matched 
 // Java program to remove a substring from a string public class RemoveSubString { public static void main(String[] args) { String master = "1,2,3,4,5"; String to_remove="3,"; String new_string = master.replace(to_remove, ""); // the above line replaces the t_remove string with blank string in master System.out.println(master); System.out.println(new_string); } }