powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Объединить 2 строки, а потом разъеденить
7 сообщений из 7, страница 1 из 1
Объединить 2 строки, а потом разъеденить
    #38409338
olzhas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня есть 2 строки (на самом деле из может быть больше, но это не важно) их нужно объединить в одну, да так что бы потом можно было разъединить опять на 2.
Сразу приходит мысль использовать разделитель. например

Код: java
1.
2.
3.
4.
5.
6.
String oldStr1 = "string1";
String oldStr2 = "string2";
String all = Str1 + "," + Str2;

String newStr1 = all.split(",")[0];
String newStr2 = all.split(",")[1];



Этот пример работает если в тексте нету нашего разделителя (","), как только он появиться все ломается.
Я так полагаю его нужно экранировать, но как?
...
Рейтинг: 0 / 0
Объединить 2 строки, а потом разъеденить
    #38409352
cdtyjv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Псевдокод обертки:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
class StringMerger {
    String[] strs;
	
    StringMerger(String... strs) {
        this.strs = strs;
    }
	
    String get(int i) {
        return strs[i]
    }
	
    String merge() {
        StringBuilder sb = new StringBuilder();
		
        for (int i = 0; i < strs; i++) 
	    sb.append(str[i]);
			
	return sb.toString();
    }
}

Это просто, как одна из идей. Там можно много чего внутри еще накрутить в зависимости от того, как именно вы хотите это дело использовать. Можно оптимизировать по памяти, по скорости, и т.д.
...
Рейтинг: 0 / 0
Объединить 2 строки, а потом разъеденить
    #38409356
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1) Использовать символы, которые в тексте не встретятся. Например ASCII-31 - unit separator
2) Использовать экранирование в тексте последовательностей. Экранировать текст перед использованием. Например все запятые в тексте превращаем в двойные. Или оборачиваем текст в кавычки. Посмотрите любой CSV или вот:
http://en.wikipedia.org/wiki/Delimiter-separated_values
3) Если строки склеивать в цикле, использовать StringBuilder
4) Зачем в коде split(",") вызывается два раза? А если текст большой?
5) Использовать фреймверки для работы с CSV
...
Рейтинг: 0 / 0
Объединить 2 строки, а потом разъеденить
    #38409388
olzhas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
cdtyjv,

Это объект, его невозможно будет сохранить или предать по сети. Мне нужна просто строка.

Blazkowicz,

1. в тексте могу встречаться любые символы. По сути это даже может быть и не текст, а набор байтов представленный в виде текста.
2. вот это мне и нужно, только я не знаю как это реализовать. 2 запятые я поставлю, а что дальше? all.split(",") не сработает так как нужно. Если заворачивать в кавычки, то нужно в тексте кавычки экранировать.
3. Это просто пример.
4. Это просто пример.
5. Не хотелось бы целый фраймворк тянуть из-за 2-х функций.
...
Рейтинг: 0 / 0
Объединить 2 строки, а потом разъеденить
    #38409399
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
olzhasЭто объект, его невозможно будет сохранить или предать по сети. Мне нужна просто строка.

ObjectOutputStream

olzhas1. в тексте могу встречаться любые символы. По сути это даже может быть и не текст, а набор байтов представленный в виде текста.

Набор байтно нельзя представить валидным текстом без специальных преобразований вроде Base64. Желание запихнуть любые байты в String - более чем стренное.

olzhas2. вот это мне и нужно, только я не знаю как это реализовать. 2 запятые я поставлю, а что дальше? all.split(",") не сработает так как нужно. Если заворачивать в кавычки, то нужно в тексте кавычки экранировать.

Написать парсер своего формата. Да. Он будет сложнее чем split(). Сюрприз! У split, кстати, параметром regex. Туда можно что-то и сложнее одной запятой впихнуть.

olzhas3. Это просто пример.

Понятно.

olzhas4. Это просто пример.

Понятно.

olzhas5. Не хотелось бы целый фраймворк тянуть из-за 2-х функций.
Бывает.

Вы пытаетесь охватить целиком задачу, не рассказывая нам её суть и не знаете с какой стороны подступиться. Постарайтесь разделить проблему на более мелкие и тогда у вас будут конкретные вопросы, на которые вы сможете получить конкретные ответы.
...
Рейтинг: 0 / 0
Объединить 2 строки, а потом разъеденить
    #38409686
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
olzhascdtyjv,

Это объект, его невозможно будет сохранить или предать по сети. Мне нужна просто строка.Ну, дык, перегрузите метод toString() .
...
Рейтинг: 0 / 0
Объединить 2 строки, а потом разъеденить
    #38409690
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
olzhas2. вот это мне и нужно, только я не знаю как это реализовать. 2 запятые я поставлю, а что дальше? all.split(",") не сработает так как нужно. Если заворачивать в кавычки, то нужно в тексте кавычки экранировать.- Сохраняйте длину первой строки (или индекс начала второй)
- потом substring(a, b)
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Объединить 2 строки, а потом разъеденить
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]