String - pegar parte do texto da string. RESOLVIDO
10 respostas
K
kallas
Bom dia pessoal!
imaginem que possuo uma String e gostaria de recuperar somente uma parte dessa string… por exemplo, precisaria pegar a parte do conteúdo da string que esteja entre dois sinais de ponto-e-vírgula, tal como:
"inicio_da_string;meio_da_string;fim_da_string"
Como eu poderia recuperar a parte “meio_da_string”? Há alguma função que eu possa passar um primeiro parâmetro(de início), e um segundo, a fim de que eu consiga recuperar o que está entre os parâmetros?
velho usa o split, ver o tamanho do seu vetor e faz uma logica que vc pega o conteudo que está no meio do vetor
M
Mr.style
verifica qual fica melhor para você split ou substring.
K
kallas
Oi alexvingg! Tem razão!
É uma alternativa sim. Acho que no “final das contas” terei que fazer dessa maneira mesmo. Apenas fiquei curioso sobre se já existe algum método para realizar essa operação…
Obrigado pela prontidão!
Kallás.
M
Mr.style
Só coloca então como resolvido!
A
alexvingg
É… agora essa alternativa é meio furada pois se vc tiver uma string assim “inicio;meio_1;meio_2;_fim” vc tem que fazer uma logica pra identificar quando for par e capturar as duas strings do meio.
flw
K
kallas
Ahhh sim, nesse caso, é verdade.
Mas, meu texto é simples… como mencionei anteriormente mesmo. Vou utilizar o “split” e construir a lógica.
Então, como lembrou o Mr.style, indiquei como resolvido.
Valeu pela ajuda pessoal!
Kallás.
E
edumoreira1 like
Kallas,
Não precisa fazer lógica em cima de split…
Usa
indexOf(";");
lastIndexOf(";");
eles retornam inteiros com a posição da String passada…
depois é só usar substring(beginIndex, endIndex);
Esses métodos também já tratam o caso de vc ter mais de uma String no meio, como disse o alexvingg, já que eles retornam respectivamente a 1º e última ocorrência da String.
OBS. É preciso somar 1 no índice de início pois senão eles traz na String um ( ; ) no começo.
flws… :arrow:
E
edumoreira
Só um detalhe,
coloca [RESOLVIDO] no título do tópico, assim fica mais fácil pra quem está pesquisando saber que foi resolvido. =]
A
alexvingg
ah dessa ai eu não sabia ! hehe fiz o teste aqui funcionou …
public static void main(String[] args) {
String pro = "Java;Ruby;PHP";
int um;
int dois;
um = pro.indexOf(";");
dois = pro.lastIndexOf(";");
System.out.println(pro.substring(um + 1, dois));
}
K
kallas
Ok moçada. Obrigado pela ajuda!
Consegui resolver aqui com indexof e lastindexof, como referiu o colega…