Manipulação de String

8 respostas
P

Galera, preciso de uma ajuda. É o seguinte: eu tenho uma String : PAPELPEDRATESOURA

Gostaria que o usuário pudesse escolher aonde o programa deveria cortar a palavra. Exemplo: Informe Começo: 1 e Informe Fim: 5. Assim selecionando a palavra PAPEL

deppois ele escolheria de novo… Começo: 6 e Fim: 10 selecionando PEDRA. Isso ja consigo fazer. Isso posto, gostaria agora de remontar a String em posições diferentes. Exemplo: Nova posição de TESOURA: Começo: 1 e Fim 7. Nova posição de PAPEL: 8 a 12 e nova posição de PEDRA: 13 a 17

Assim a nova String ficaria: TESOURAPAPELPEDRA

Qualquer ajuda é bem-vinda.

Obrigado,

Pedro

8 Respostas

E

Use o método substring da classe String.

Por exemplo:

String s = "[telefone removido]";
String t = s.substring (1, 7); // a string resultante vai da posição 1 (inclusive) 
// até a posição 7 (exclusive), ou seja, é "123456". A primeira posição é 0.
guisantogui

Não te entendi muito bem!
O que está tentando fazer?
já tem algum código? se tiver poste!

A

:Ddê uma lida:

http://download.oracle.com/docs/cd/E17409_01/javase/6/docs/api/java/lang/String.html

http://download.oracle.com/docs/cd/E17409_01/javase/6/docs/api/java/lang/String.html#substring(int,%20int)

AS

P

entanglement:
Use o método substring da classe String.

Por exemplo:

String s = "[telefone removido]";
String t = s.substring (1, 7); // a string resultante vai da posição 1 (inclusive) 
// até a posição 7 (exclusive), ou seja, é "123456". A primeira posição é 0.

Isso ai eu fiz, para separar as Strings. Mas e na hora de remontar a nova String? Vou gravar isso em um arquivo txt então preciso falar as posições. PEDRA não é mais de 1 a 5 agora vai ser de 6 a 10 e PAPEL será de 1 a 5. Então teria: String original: PEDRAPAPEL quero mudar para PAPELPEDRA, mas preciso que seja informada a posição dos caracteres na linha.

Desculpe se estou me expressando mal, mas to tentando :stuck_out_tongue:

E

Use o operador “+”, que serve para fazer concatenação.

String s = "carlos";
String t = "verri"; // de que famoso técnico de futebol estou falando aqui?
String u = t + s; // deve conter "verricarlos"
P

Vou tentar me expressar melhor.

O negócio é o seguinte: Vou ler de um arquivo um cabeçalho que contem 70 caracteres.

Dentro destes 70 caracteres possuo 5 informações que quero extrair. NOME, IDADE, CPF, SEXO e ESCOLA só que essas informações não veem sequencialmente, tenho caracteres que nao me interessam entre elas. Tipo assim, vou ler isso: NOME000000CPF00000000SEXO000000IDADE0000000ESCOLA000000000000000000000

Primeiramente vou “desmontar” esta grande String e extrair dela só NOME, IDADE, CPF, SEXO E ESCOLA, informando ao programa o caracter de inicio e o de fim. Exemplo:

nomeInicio: 1
nomeFim: 5

cpfInicio: 11
cpfFim: 14

Assim até extrair todas as 5 informações. Isso ja consigo fazer. Ok. Agora com essas informações em maos, quero remontar essa grande String de 70 caracteres mas em posições diferentes. NOME vai não vai ser mais de 1 a 5 e sim de 15 a 19, quero remanejar estas 5 variaveis dentro da String, reformatando o cabeçalho.
Exemplo:

novoNomeInicio: 15
novoNomeFim: 19

novoCpfInicio: 25
novoCpfFim: 28

e assim sucessivamente com todas as 5 informações. Ai o cabeçalho novo ficaria do jeito que eu quisesse.

E

Ah, então use um framework como o JFileHelpers , que é útil para arquivos posicionais, também conhecidos por “flat files”.

http://jfilehelpers.com/index_pt.php

P

Vou dar uma lida nesse FrameWork. Valeu pela ajuda

Criado 19 de julho de 2010
Ultima resposta 19 de jul. de 2010
Respostas 8
Participantes 4