Ir para conteúdo
Visualizar no app

Uma forma melhor de navegar. Saiba mais.

MM Fórum

Um app em tela cheia na sua Tela de Início com notificações push, avisos e mais.

Para instalar este app no iOS/iPadOS
  1. Toque no ícone de Compartilhamento no Safari
  2. Role o menu e toque em Adicionar à Tela de Início.
  3. Toque em Adicionar no canto superior direito.
Para instalar este app no Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Problema com Manipulação de Strings

Featured Replies

Postado

Olá a todos!

Eu estou fazendo um App que, em dado momento, necessita de uma inversão de caracteres de uma string. Eu quero ler uma string de um TextField, invertê-la, e escrevê-la já invertida em outro (ou no mesmo) TextField, para que o usuário tenha a opção de copiar a string invertida. Pode também ser escrito em uma Label, ou qualquer coisa que funcione.

Agradeço a atenção

  • Respostas 9
  • Visualizações 1.2k
  • Criado
  • Última resposta

Top Postadores Neste Tópico

Postado

Não server ler a string e ir concatenando letra a letra de forma invertida ?

tipo assim:

vamos assumir que sua string tem 5 caracteres

i =0

stringInversa = ""

stringInversa = stringOriginal

while i < 4 {

stringInversa = letra + stringInversa

i = i + 1

}

Postado

...

String strAux = "";

for (int i = stringOriginal.lengh-1; i >= 0; i--) {

strAux += stringOriginal.charAt(i);

}

...

ao fim do laço a strAux contará o valor invertido da sua String original.

Postado

correcao: stringOriginal.length

Postado
  • Autor

Não server ler a string e ir concatenando letra a letra de forma invertida ?

tipo assim:

vamos assumir que sua string tem 5 caracteres

i =0

stringInversa = ""

stringInversa = stringOriginal

while i < 4 {

stringInversa = letra + stringInversa

i = i + 1

}

não... infelizmente não. Acho que em Obj-C não se lê vetores assim. Nem sei se é possível trabalhar com vetores de strings

Postado
  • Autor

correcao: stringOriginal.length

essa linha aqui tá dando erro:

strAux += stringOriginal.charAt(i);

diz que ":request for member 'charAt' in something not a structure or union"

Postado

essa linha aqui tá dando erro:

strAux += stringOriginal.charAt(i);

diz que ":request for member 'charAt' in something not a structure or union"

Olá amigo. Achei que fosse java.

Para C,

strAux += stringOriginal deve funcionar.

Abraço.

Editado por KOSTON

Postado
  • Autor

Olá amigo. Achei que fosse java.

Para C,

strAux += stringOriginal deve funcionar.

Abraço.

Obrigado, mais uma vez, mas na verdade é Objective-C!

Se souber tambem, agradeceria a ajuda ^^

Postado

NSString?

Crie um método que faça isto. Existem alguns exemplos por aí...

Tente isto:

#import &lt;Foundation/Foundation.h&gt;

@interface NSString (Extended)
-(NSString *)reverseString;
@end

@implementation NSString (Extended)
-(NSString *)reverseString
{
   NSInteger l;
   NSMutableString *ostr = [NSMutableString stringWithCapacity:[self length] ];
   for(l=[self length]-1; l&gt;=0; l--)
   {
      [ostr appendFormat:@"%C", [self characterAtIndex:l] ];
   }
   return ostr;
}
@end

Utilizando:

int main()
{
    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];

    NSString *test = [@"!A string to be reverted!" reverseString];

    NSLog(test);

    [pool release];
    return 0;
}

Editado por franzSilva

Postado
  • Autor

Obrigado, mais uma vez, mas na verdade é Objective-C!

Se souber tambem, agradeceria a ajuda ^^

OBRIGAAADO, CARA!!! resolveu meu problema!!!!! Só precisei fazer algumas alterações pra Cocoa Touch e voilà!

Gradcido!

Participe do debate

Você pode postar agora e se registrar depois. Se você tem uma conta, entre agora para postar com ela.

Visitante
Responder este tópico…

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Conta

Navegação

Buscar

Buscar

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.