Удалить часть строки в Java



Я хочу, чтобы удалить часть строки из одного символа, то есть:



источник:



manchester united (with nice players)


целевой строки:



manchester united
826   10  

10 ответов:

есть несколько способов сделать это. Если у вас есть строка, которую вы хотите заменить, Вы можете использовать replace или replaceAll методы String класса. Если вы хотите заменить подстроку, вы можете получить подстроку с помощью substring API.

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)", "");

Edit:

По Индексу

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

Использовать Строку.Заменить():

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()

вы должны использовать метод substring () объекта String.

вот пример кода:

предположение: я предполагаю, что вы хотите получить строку до первой скобки

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, "");

использование StringUtils из commons lang

нулевая исходная строка возвращает значение 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);

    }
}

Comments

    Ничего не найдено.