Eu preciso de uma maneira de remover o primeiro caractere de uma seqüência de caracteres que é um espaço. Estou procurando um método ou mesmo uma extensão para o tipo String que eu possa usar para cortar um caractere de uma string.
170
Respostas:
Para remover os espaços em branco iniciais e finais:
Swift 3 / Swift 4:
fonte
NSCharacterSet.whitespaceAndNewlineCharacterSet()
se desejar aparar caracteres de nova linha.A maneira correta quando você deseja remover todos os tipos de espaços em branco (com base nesta resposta do SO ) é:
Swift 3.0+ (3.0, 3.1, 3.2, 4.0)
EDITAR
Esta resposta foi publicada quando a pergunta era sobre a remoção de todos os espaços em branco. A pergunta foi editada para mencionar apenas os espaços em branco à esquerda. Se você deseja remover apenas os espaços em branco à esquerda, use o seguinte:
fonte
Essa extensão String remove todo o espaço em branco de uma string, não apenas o espaço em branco à direita ...
Exemplo:
fonte
Swift 3
Você pode simplesmente usar esse método para remover todos os espaços normais em uma string (não considera todos os tipos de espaço em branco):
O resultado será:
fonte
Você também pode usar regex.
fonte
Para o Swift 3.0+, consulte as outras respostas. Esta é agora uma resposta herdada para o Swift 2.x
Como respondido acima, como você está interessado em remover o primeiro caractere, o método de instância .stringByTrimmingCharactersInSet () funcionará bem:
Você também pode criar seus próprios conjuntos de caracteres para aparar os limites de suas cordas, ex:
Também existe um método de instância integrado para lidar com a remoção ou substituição de substrings chamados stringByReplacingOccurrencesOfString (target: String, substituição: String) . Ele pode remover espaços ou quaisquer outros padrões que ocorram em qualquer lugar da sua string
Você pode especificar opções e intervalos, mas não precisa:
Essa é uma maneira fácil de remover ou substituir qualquer padrão repetido de caracteres em sua string e pode ser encadeada, embora cada vez que ela tenha que passar por outra passagem por toda a string, diminuindo a eficiência. Então você pode fazer isso:
... mas levará o dobro do tempo.
.stringByReplacingOccurrencesOfString () documentação do site da Apple
Às vezes, encadear esses métodos de instância String pode ser muito conveniente para conversões únicas, por exemplo, se você deseja converter um blob NSData curto em uma string hexadecimal sem espaços em uma linha, é possível fazer isso com a interpolação String incorporada do Swift e alguns ajustes e substituindo:
fonte
For swift 3.0
fonte
Swift 4
O excelente caso para usar a regex:
fonte
Eu usaria essa extensão para ser flexível e imitar como outras coleções fazem isso:
fonte
Se você deseja remover espaços da frente (e de trás), mas não do meio, use
stringByTrimmingCharactersInSet
Se você deseja remover espaços de qualquer lugar da string, consulte stringByReplacing ...
fonte
" First Word "
gera"First Word"
).Swift 4, 4.2 e 5
Remova espaço apenas da frente e do fim
Remova espaços de todos os lugares da cadeia
fonte
Você pode tentar isso também
fonte
Experimente a programação funcional para remover os espaços em branco:
fonte
fonte
Se alguém remover espaço extra da string, por exemplo, =
"This is the demo text remove extra space between the words."
Você pode usar esta função no Swift 4.
e o resultado será
fonte
Oi, isso pode ser tarde, mas vale a pena tentar. Isso é de um arquivo de playground. Você pode torná-lo uma extensão String.
Isso está escrito no Swift 5.3
Método 1:
Método 2:
fonte
Versão Swift 3
fonte
Aparar espaços em branco no Swift 4
fonte
Ainda outra resposta, às vezes a sequência de entrada pode conter mais de um espaço entre as palavras. Se você precisar padronizar para ter apenas 1 espaço entre as palavras, tente isso (Swift 4/5)
fonte
Para mim, a seguinte linha costumava remover o espaço em branco.
fonte
fonte
Versão Swift 3 da resposta do BadmintonCat
fonte
whitespaceCharacterSet
é uma prática recomendada.fonte
Para remover todos os espaços da sequência:
fonte