L'opération de chaîne de caractères de kotlin est également pratique, mais après tout, je veux utiliser la chaîne de caractères comme Python.
C'est pourquoi j'ai créé une bibliothèque qui permet à kotlin d'effectuer des opérations de chaîne équivalentes à Python.
ktPyString https://github.com/ChanTsune/ktPyString
En définissant une fonction d'extension pour String, kotlin peut également effectuer des opérations de chaîne comme python.
Gradle
build.gradle
dependencies {
...
implementation 'dev.tsune:ktPyString:0.0.0'
...
}
Maven
<dependency>
<groupId>dev.tsune</groupId>
<artifactId>ktPyString</artifactId>
<version>0.0.0</version>
<type>pom</type>
</dependency>
Ajouter à la bibliothèque dépendante.
val str = "0123456789"
str[0,5]
// 01234
str[0,8,2]
// 0246
str[null,null,-1]
// 9876543210
Il s'agit d'une opération de tranche pour Pythonista. Une fois que vous vous y serez habitué, vous voudrez le faire dans d'autres langues.
Au fait, si vous écrivez la même opération en Python, ce sera comme suit.
str = "0123456789"
str[0:5]
# 01234
str[0:8:2]
# 0246
str[::-1]
# 9876543210
//Recherche depuis le début
"123412312312345".find("123") // 0
//Rechercher en spécifiant la position de départ
"123412312312345".find("123",start:2) // 4
//Rechercher en spécifiant la position finale
"123412312312345".find("123",end:1) // -1
//Recherche depuis la fin
"123412312312345".rfind("123") // 10
Vous pouvez également rechercher à partir de la fin en spécifiant la position de départ et la position finale.
val array = ["abc","def","ghi"]
"".join(array) // "abcdefghi"
"-".join(array) // "abc-def-ghi"
"++".join(array) // "abc++def++ghi"
"abc\nabc".splitlines() // ["abc", "abc"]
"abc\r\nabc\n".splitlines() // ["abc", "abc"]
//Split laissant un personnage de pause
"abc\nabc\r".splitlines(true) // ["abc\n", "abc\r"]
"abc\r\nabc\n".splitlines(true) // ["abc\r\n", "abc\n"]
//Extrémité droite seulement
"rstrip sample ".rstrip() // "rstrip sample"
"rstrip sample ".rstrip("sample ") // "rstri"
" rstrip sample".rstrip() // " rstrip sample"
//Seulement à l'extrémité gauche
" lstrip sample".lstrip() // "lstrip sample"
" lstrip sample".lstrip(" ls") // "trip sample"
"lstrip sample".lstrip() // "lstrip sample"
//les deux extrémités
" spacious ".strip() // "spacious"
"www.example.com".strip("cmowz.") // "example"
"abc abc abc".count("abc") // 3
//Spécifier la position de départ
"abc abc abc".count("abc", start:2) // 2
//Spécifier la position finale
"abc abc abc".count("abc", end:1) // 0
"abc".zfill(1) // "abc"
"abc".zfill(5) // "00abc"
//Si signé
"+12".zfill(5) // "+0012"
"-3".zfill(5) // "-0003"
"+12".zfill(2) // "+12"
S'il est signé, il y aura un zéro après le signe.
Si vous écrivez tout, ce sera long, alors je vais vous le présenter ici.
De plus, les méthodes disponibles dans le type str de Python prennent en charge la plupart des méthodes, à l'exception de celles qui sont linguistiquement irréalisables ou difficiles à implémenter.
Si vous avez commencé à programmer à partir de Python, n'est-ce pas relativement pratique car vous pourrez utiliser des chaînes en Python que vous connaissez bien?
Vous pouvez implémenter cette méthode, n'est-il pas préférable d'implémenter cette méthode? Si c'est du kotlin, faites-moi savoir si c'est beau d'écrire comme ça.
Nous t'attendons.
Si tel est le cas, je serais ravi de signaler un bug.
En passant, depuis que j'ai créé une version Swift de la bibliothèque dans le passé, je peux peut-être copier la plupart des traitements autour des opérations de chaînes de caractères sur iOS et Android. (Parce que la grammaire de Swift et de kotlin est assez similaire) https://qiita.com/ChanTsune/items/bd611a4c778c0fb338e6
Recommended Posts