Как изменить пробелы, чтобы подчеркнуть и сделать строку без учета регистра? - PullRequest
35 голосов
/ 27 февраля 2012

У меня следующий вопрос. В моем приложении есть просмотр списка. Я получаю имя элемента из списка и передаю его в виде строки. Как игнорировать регистр этой строки и менять пробелы на подчеркивания?

Например: String itemname = "First Topic". Я переношу его на следующую операцию и хочу игнорировать регистр и заменить пробел на подчеркивание (я хочу получить first_topic в результате). Я получаю "itemname" в web-активности и хочу сделать то, что я описал для следующего кода:

String filename = bundle.getString("itemname") + ".html";

Пожалуйста, помогите.

Ответы [ 3 ]

94 голосов
/ 27 февраля 2012

используйте replaceAll и toLowerCase методы, подобные этому:

myString = myString.replaceAll(" ", "_").toLowerCase()

10 голосов
/ 07 февраля 2017

Это работает для меня:

itemname = itemname.replaceAll("\\s+", "_").toLowerCase();

replaceAll("\\s+", "_") в oposite для replaceAll("\\s+", "_") дает вам одно подчеркивание, если в строке появляется много пробелов:

"first topic".replaceAll("\\s+", "_") -> first_topic

"first topic".replaceAll(" ", "_") -> first__topic

6 голосов
/ 27 февраля 2012

Вы можете использовать методы replaceAll & toLowerCase, но имейте в виду, что они не изменяют строку (они просто возвращают измененную строку), поэтому вам необходимо присвоить обратную переменную, например.

String itemname = bundle.getString("itemname"); 
itemname = itemname.replaceAll(" ", "_").toLowerCase(); 
String filename = itemname + ".html";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...