Obter os índices de uma string em Lua

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Obter os índices de uma string em Lua

Jorge Eduardo
Galera, estou com o seguinte desafio:

Dada uma string, capitalize as letras que ocupam índices pares e índices ímpares separadamente e retornam como mostrado abaixo. O índice 0 será considerado par.
Por exemplo, capitalize ("abcdef") = ['AbCdEf', 'aBcDeF'].
A entrada será uma string minúscula sem espaços.

A dúvida é, como obter os índices da string inserida pelo usuário, utilizando a linguagem Lua??

Eu fiz em Python desta forma e desejo aplicar a mesma lógica:

string=(input())

string1=""

string2=""

for i in range(len(string)):

if i%2==0:

string1 += string[i].upper()

else:

string1 += string[i]

print(string1)

for i in range(len(string)):

if i%2==0:

string2 += string[i]

else:

string2 += string[i].upper()

print(string2)


Se não der pra obter os índices, vou ter que colocar cada letra em um item de um array e aplicar a formatação.

Grato.

--
Você recebeu essa mensagem porque está inscrito no grupo "Lua BR" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para [hidden email].
Acesse esse grupo em https://groups.google.com/group/lua-br.
Para mais opções, acesse https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: Obter os índices de uma string em Lua

Eric Chiesse
Python: str[i] => Lua: string.sub(str, i, i)

Acho que resolve seu problema.

Lembre-se também que em Lua o primeiro índice de um array é 1 e não 0.

---
Eric

2017-11-18 22:33 GMT-02:00 Jorge Eduardo <[hidden email]>:
Galera, estou com o seguinte desafio:

Dada uma string, capitalize as letras que ocupam índices pares e índices ímpares separadamente e retornam como mostrado abaixo. O índice 0 será considerado par.
Por exemplo, capitalize ("abcdef") = ['AbCdEf', 'aBcDeF'].
A entrada será uma string minúscula sem espaços.

A dúvida é, como obter os índices da string inserida pelo usuário, utilizando a linguagem Lua??

Eu fiz em Python desta forma e desejo aplicar a mesma lógica:

string=(input())

string1=""

string2=""

for i in range(len(string)):

if i%2==0:

string1 += string[i].upper()

else:

string1 += string[i]

print(string1)

for i in range(len(string)):

if i%2==0:

string2 += string[i]

else:

string2 += string[i].upper()

print(string2)


Se não der pra obter os índices, vou ter que colocar cada letra em um item de um array e aplicar a formatação.

Grato.

--
Você recebeu essa mensagem porque está inscrito no grupo "Lua BR" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para [hidden email].
Acesse esse grupo em https://groups.google.com/group/lua-br.
Para mais opções, acesse https://groups.google.com/d/optout.

--
Você recebeu essa mensagem porque está inscrito no grupo "Lua BR" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para [hidden email].
Acesse esse grupo em https://groups.google.com/group/lua-br.
Para mais opções, acesse https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: Obter os índices de uma string em Lua

Diego Nascimento

Em 19 de novembro de 2017 01:18, Eric Chiesse <[hidden email]> escreveu:
Python: str[i] => Lua: string.sub(str, i, i)

Acho que resolve seu problema.

Lembre-se também que em Lua o primeiro índice de um array é 1 e não 0.

---
Eric

2017-11-18 22:33 GMT-02:00 Jorge Eduardo <[hidden email]>:
Galera, estou com o seguinte desafio:

Dada uma string, capitalize as letras que ocupam índices pares e índices ímpares separadamente e retornam como mostrado abaixo. O índice 0 será considerado par.
Por exemplo, capitalize ("abcdef") = ['AbCdEf', 'aBcDeF'].
A entrada será uma string minúscula sem espaços.

A dúvida é, como obter os índices da string inserida pelo usuário, utilizando a linguagem Lua??

Eu fiz em Python desta forma e desejo aplicar a mesma lógica:

string=(input())

string1=""

string2=""

for i in range(len(string)):

if i%2==0:

string1 += string[i].upper()

else:

string1 += string[i]

print(string1)

for i in range(len(string)):

if i%2==0:

string2 += string[i]

else:

string2 += string[i].upper()

print(string2)


Se não der pra obter os índices, vou ter que colocar cada letra em um item de um array e aplicar a formatação.

Grato.

--
Você recebeu essa mensagem porque está inscrito no grupo "Lua BR" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para [hidden email].
Acesse esse grupo em https://groups.google.com/group/lua-br.
Para mais opções, acesse https://groups.google.com/d/optout.

--
Você recebeu essa mensagem porque está inscrito no grupo "Lua BR" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para [hidden email].
Acesse esse grupo em https://groups.google.com/group/lua-br.
Para mais opções, acesse https://groups.google.com/d/optout.

--
Você recebeu essa mensagem porque está inscrito no grupo "Lua BR" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para [hidden email].
Acesse esse grupo em https://groups.google.com/group/lua-br.
Para mais opções, acesse https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: Obter os índices de uma string em Lua

Luiz Henrique de Figueiredo
In reply to this post by Jorge Eduardo
> Dada uma string, capitalize as letras que ocupam índices pares e índices
> ímpares separadamente e retornam como mostrado abaixo. O índice 0 será
> considerado par.
> Por exemplo, capitalize ("abcdef") = ['AbCdEf', 'aBcDeF'].

function capitalize(s)
        return s:gsub("(.)(.)", function (a,b) return a:upper()..b end),
                s:gsub("(.)(.)", function (a,b) return a..b:upper() end)
end

--
Você está recebendo esta mensagem porque se inscreveu no grupo "Lua BR" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para [hidden email].
Visite este grupo em https://groups.google.com/group/lua-br.
Para obter mais opções, acesse https://groups.google.com/d/optout.