Как удалить в строке числа но при етом оставить все буквы тоесть к примеру есть String str= "a,c,v,Q,8,9";
ну до 8,9 удалить все остально еставить. . A и к примеру у нас есть a,c,v их надо изменить на A,C,V (тоесть из маленьких сделать большие) а из Q, сделать q, Пожалуйста очень надо если можно дайте код (САМЫЙ ПРОСТЕНЬКИЙ) (основанный на циклах, массивах или строках говорили что надо использовать к примеру что-то в роде toUpperCase toLowerCase или arrive но я токо начал изучать Джаву и пока еще не знаю что ето.. . Заранее спасибо БОЛЬШОЕ!!!!
Другие языки программирования и технологии
Как удалить в строке числа но при етом оставить все буквы, JAVA
> Как удалить в строке числа
Строки в Java неизменяемы, можно лишь сформировать новую строку:
import java.util.*;
class q92997931 {
public static void main(String[] argv) throws java.io.IOException {
Scanner in = new Scanner(System.in);
System.out.print("string? ");
String s = in.nextLine(), r = "";
for (int i = 0; i < s.length(); ++i) {
char c = s.charAt(i);
if (!Character.isDigit(c)) {
if (Character.isUpperCase(c)) c = Character.toLowerCase(c);
else if (Character.isLowerCase(c)) c = Character.toUpperCase(c);
r += c;
}
}
System.out.println("result: " + r);
}
}
Строки в Java неизменяемы, можно лишь сформировать новую строку:
import java.util.*;
class q92997931 {
public static void main(String[] argv) throws java.io.IOException {
Scanner in = new Scanner(System.in);
System.out.print("string? ");
String s = in.nextLine(), r = "";
for (int i = 0; i < s.length(); ++i) {
char c = s.charAt(i);
if (!Character.isDigit(c)) {
if (Character.isUpperCase(c)) c = Character.toLowerCase(c);
else if (Character.isLowerCase(c)) c = Character.toUpperCase(c);
r += c;
}
}
System.out.println("result: " + r);
}
}
Удалить можно регекспом. Он простой получится. А заменить.. . не помню, есть ли у String toUpperCase, но если нет, то достаточно Map<string,> создать (ключ - англ маленькая буква, значение - большая) и в StringBuilder добавлять имеющиеся символы.
Делаешь 3 массива 1) a-z 2) A-Z выделяешь 29 элементов под массив 3) цифры от 0 - 9 это 10 элементов под массив. Данную строку переводишь в массив сепарируя элементы по знаку ",". далее используешь циклы (каким догадаешься сам, да и на вкус и цвет как говорится) . В цикле проверяешь наличие i-того элемента в 3 х заданных массивах, тут лучше даже упростить пользуясь переключателем условий switch. И условия описываешь те которые в задании.
Похожие вопросы
- Как удалить определённые строки в текстовом файле? С++
- как вытащить из строки числа? с++
- Преобразуйте строку так, чтобы сначала в ней шли буквы, но в обратном порядке, а затем цифры в прямом. Напишите кодна С#
- Удалить из строки все цифры. Как решить эту задачу в паскале??
- Как удалить нулевые строки из матрицы в turbo c++?
- из заданной последовательности слов, удалить слова, содержащие числа
- Напишите программу для С++, которая заменяет в символьной строке все буквы a на буквы b, буквы A на буквы B ...
- Как компьютер отличает числа от букв?
- вопрос программистам 1с. Как в 1с из середины текстовой строки вырезать числа?
- Как отдельно подсчитать количество русских букв и английских букв в строке массива???