Форум программистов, компьютерный форум, киберфорум
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
amasaemi
9 / 9 / 3
Регистрация: 22.08.2015
Сообщений: 108
#1

Поиск в строке слова из массива и замена его - Программирование Android

28.05.2016, 00:05. Просмотров 217. Ответов 4
Метки нет (Все метки)

Снова я) возник вопрос по джаве. Есть у меня строка "12 мая 2016". Есть ArrayList<Mounth>, в котором в каждом item хранятся 2 string'a, к примеру: "мая" и "май". Так вот, к той строке, которая была дана, нужно проверить, содержиться ли в ней элемент из первого столбца ArrayList'a, и если содержится, заменить его на элемент из второго столбца эррейлиста. Есть ли какие то функции для этого? Или только через цикл?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.05.2016, 00:05
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Поиск в строке слова из массива и замена его (Программирование Android):

Поиск и замена слова в строке - Java SE
Ребят как реализовать сие?

Поиск и замена слова в строке - C++
Добрый вечер. Помогите написать программу которая ищет в введенной строке одинаковые слова и меняет на слово введенное с клавиатуры (любых...

Поиск слова в файле и его замена - C++
Не могу никак решить одну проблему. Мне осталось в 3 классе написать следующее: - Программа просит ввести строку, которую нужно заменить....

Поиск слова в тексте и его изменение (замена) - C#
Прошу помочь со следующим: Мне нужно найти в текстовом документе слово и именно его изменить (заменить) по средствам кода, слово может...

Поиск слова в файле и его замена другим - Delphi
Требуется помощь в следующем есть файл с текстом в нем нужно найти слово и заменить другим а затем этот файл сохранить с изменениями...

Поиск sqrt в строке и замена его на корень аргумента - C#
задание такое, есть строка нужно найти все функции sqrt в ней и заменить их на корень аргумента пример sqrt(4)+3+sqrt(9) ответ 2+3+3

4
YuraAAA
1577 / 1318 / 271
Регистрация: 25.10.2009
Сообщений: 3,438
Записей в блоге: 2
28.05.2016, 11:35 #2
amasaemi, через цикл
0
fraley
106 / 106 / 40
Регистрация: 24.05.2015
Сообщений: 322
28.05.2016, 17:26 #3
Цитата Сообщение от amasaemi Посмотреть сообщение
Есть у меня строка "12 мая 2016".
Эта строка всегда в одном и том же формате?
Или это будет произвольный текст?

Если первый вариант, то можно сплитом разделить строку, и вытащить месяц.
Месяцы же внести в HashMap и просто проверять есть ли такой ключ в HashMap.
Если есть, то соотвественно заменять.

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
public class MainActivity extends AppCompatActivity {
 
    private HashMap<String, String>  map;
    private String date="12 января 2016";
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        map=new HashMap<>();
        map.put("января", "январь");
        map.put("февраля", "февраль");
        map.put("марта", "март");
        map.put("апреля", "апрель");
        map.put("мая", "май");
        map.put("июня", "июнь");
        map.put("июля", "июль");
        map.put("августа", "август");
        map.put("сентября", "сентябрь");
        map.put("октября", "октябрь");
        map.put("ноября", "ноябрь");
        map.put("декабря", "декабрь");
 
 
        String [] array=date.split(" ");
 
        if(map.containsKey(array[1])){
            date=date.replace(array[1], map.get(array[1]));
            Toast.makeText(MainActivity.this, date, Toast.LENGTH_SHORT).show();
        }
    }
}
0
Pablito
2525 / 2004 / 624
Регистрация: 12.05.2014
Сообщений: 7,030
Завершенные тесты: 1
28.05.2016, 18:17 #4
почему просто не пройтись регуляркой по всем строкам и не поменять одно на другое по списку?
регулярка если найдет совпадения - поменяет, без всяких проверок

и вот так хранить "мая май" одной строкой в листе - не очень умно
0
amasaemi
9 / 9 / 3
Регистрация: 22.08.2015
Сообщений: 108
28.05.2016, 23:54  [ТС] #5
Цитата Сообщение от fraley Посмотреть сообщение
Если первый вариант, то можно сплитом разделить строку, и вытащить месяц.
Месяцы же внести в HashMap и просто проверять есть ли такой ключ в HashMap.
Если есть, то соотвественно заменять.
Я примерно так и сделал, спасибо

Цитата Сообщение от Паблито Посмотреть сообщение
почему просто не пройтись регуляркой по всем строкам и не поменять одно на другое по списку?
регулярка если найдет совпадения - поменяет, без всяких проверок
и вот так хранить "мая май" одной строкой в листе - не очень умно
Уже не первый раз слышу про "регулярные выражения", пора бы мне изучить, что это такое
0
28.05.2016, 23:54
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.05.2016, 23:54
Привет! Вот еще темы с ответами:

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

Поиск определенного слова в строке и замена определенного символа после этого слова - C#
Представим что у нас есть следующая строка: &quot;Дядя Петя 10 раз ударил дядю Васю, но дядя Вася оказался не трусом и дал сдачи в виде 1...

Замена слова в строке - C++
Задание: ввести с клавиатуры строку + слово, которое нужно заменить + слово, на которое нужно заменить. Вывести на экран новый вариант...

Замена слова в строке - C#
Пробую заменить слово в строке вот так string s = &quot;some_text or some-text or Text use text, read text or what text?&quot;; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru