LINUX.ORG.RU

инвертировать регистр букв в строке

 


0

1

собственно вопроc: как инвертировать регистр букв в строке регэкспом? и было бы круто, если бы его умел oracle.

'TeSt StRiNg' ---> 'tEsT sTrInG'

у меня есть чудовищный способ через substr и case, но хочется изящества.

или регэкспом нельзя? тогда вопрос: почему?

lol

в JS так str.replace(/[a-zф-яё]+/, function(x){return x.toUppercase()})

И ты еще со мной че то за ФП спорил? LOL

anonymous
()
Ответ на: комментарий от anonymous

обычно я выступаю за фп ;)

не, я могу сунуть в оракл жабофункцию, но было бы неплохо обойтись.

Rastafarra ★★★★
() автор топика
Ответ на: комментарий от aedeph_

Я не рабочий код написал, а пояснил как сдеалать. Конкретно для этого случая, для дебилов, будет вот так


'TeSt StRiNg'.replace(/\w/g, function(x){
  if(x==x.toLowerCase())  return x.toUpperCase()
  if(x==x.toUpperCase())  return x.toLowerCase()
  return x
}).print()

// ::: tEsT sTrInG

anonymous
()
Ответ на: комментарий от Kuzy

Че не так опять? В чем неудобство? В том что хашкелкек твой соснул?

anonymous
()
String input = "TeSt StRiNg";
StringConverter converter = new ReverseRegisterStringConverter();
StringConversionController controller = new StringConversionController(converter);
String result = controller.convert(input);

Тебе остается лишь написать интерфейс StringConverter и классы ReverseRegisterStringConverter и StringConversionController.

hlebushek ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.