Escrever uma função que:
insira o segundo string no primeiro, na posição indicada pelo valor.
insira o segundo string no primeiro, na posição indicada pelo valor.
Passo 1
Beleza, o enunciado pede uma função que, dado:
- uma string “primeiro” (vamos chamar de str1),
- outra string “segundo” (str2)
- e um valor inteiro “posição” (pos),
insira str2 dentro de str1 exatamente na posição pos.
Conteúdo da matéria: manipulação de strings (fatiamento/substring e concatenação).
O que vamos precisar:
O que vamos precisar:
- Entender índices de strings (onde o primeiro caractere é índice 0).
- Saber “fatiar” (pegar partes) de uma string.
- Concatenar (juntar) strings.
Passo 2
Primeiro, a teoria de substring (fatiamento):
Se tenho uma string S, posso dividir em duas partes:
Se tenho uma string S, posso dividir em duas partes:
- prefixo = S[0 : p] → pega do início até antes do índice p
- sufixo = S[p : fim] → pega de p até o final
Em muitas linguagens isso é feito com algo como S.substring(0, p) e S.substring§.
Depois, basta colar: resultado = prefixo + outraString + sufixo.
Depois, basta colar: resultado = prefixo + outraString + sufixo.
Passo 3
Vamos detalhar cada pedacinho:
- prefixo = str1[0 : pos]
- Pega todos os caracteres de str1 do índice 0 até pos−1.
- sufixo = str1[pos : |str1|]
- Pega todos os caracteres de str1 do índice pos até o fim.
- resultado = prefixo + str2 + sufixo
- Junta a primeira parte de str1, depois str2 inteira, depois a parte final de str1.
Em notação LaTeX, se chamarmos
e pos =
, então:
Passo 4
Exemplo rápido pra “fechar o raciocínio”:
- str1 = “ABCD”, str2 = “XY”, pos = 2
- prefixo = “AB” (índices 0 e 1)
- sufixo = “CD” (a partir do índice 2)
- resultado = “AB” + “XY” + “CD” = “ABXYCD”
Resposta
Segue a função em pseudocódigo (ou JavaScript, por exemplo):
function inserirString(str1, str2, pos) {
const prefixo = str1.substring(0, pos);
const sufixo = str1.substring(pos);
return prefixo + str2 + sufixo;
}