String - pegar parte do texto da string. RESOLVIDO

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?

Obrigado pela atenção!
Kallás

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

verifica qual fica melhor para você split ou substring.

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.

Só coloca então como resolvido!

É… 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

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.

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:

1 curtida

Só um detalhe,

coloca [RESOLVIDO] no título do tópico, assim fica mais fácil pra quem está pesquisando saber que foi resolvido. =]

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)); }

Ok moçada. Obrigado pela ajuda!
Consegui resolver aqui com indexof e lastindexof, como referiu o colega…

Valeu pela atenção!
Kallás.