-2
votes

Table Swift View Programmatiquement

Pourriez-vous fournir des exemples de cellules personnalisées génératrices de manière programmatique


3 commentaires

Dépend de ce que vous entendez par lettres.


@Xehpuk qui est raisonnablement défini par les classes de caractères Unicode et Posix.


@ chrylis-onstrike- Ouais, il y aurait \ p {l} mais ce n'est pas clair si c'est ce que SOP signifiait.


4 Réponses :



2
votes

Je ne connais pas une fonction directe, mais vous pouvez suivre ces étapes:

1) Prenez une chaîne comme entrée 2) En utilisant la méthode tolower () code>, convertissez tout en minuscules 3) Utilisez TOCHARARRAY () CODE> Méthode de la classe de chaîne à convertir en une matrice de caractères 4) Vérifiez maintenant si chaque emplacement a un caractère entre A à Z P>

code: p> xxx pré>

voici la sortie: p>

Output: 

Enter a string value:
24stackoverflow
Given String is invalid
------------------------
Enter a string value:
StackOverflow
Given String is valid


2 commentaires

Je pense que avec ce code, vous n'utilisez pas correctement l'API Java


@vincenzopalazzo Oui, cela peut être possible. L'utilisation de Regex est une meilleure option.



2
votes

Vous pouvez utiliser une regex pour tester si une chaîne correspond au motif / ^ [az] + $ / i code> si vous n'êtes préoccupé par des lettres simples anglais non accrédées.

pour les lettres Beaucoup de langues, vous pouvez utiliser / ^ \ p {l} + $ / i code>. p>

Comme Java regrette, ceux-ci ressemblent à: p>

Pattern.comPILE ("^ [AZ] + $", modèle.case_insensive) code> p>

motif.comple ("^ \\ p {l} + $") code > p>

Mise à jour: {l} fonctionne mieux que {Alpha} pour les caractères accentués. P>

        pattern = Pattern.compile("^\\p{L}+$");
        System.out.println(pattern.matcher("foo").matches());
        System.out.println(pattern.matcher("Foo").matches());
        System.out.println(pattern.matcher("föo").matches());
        System.out.println(pattern.matcher("fo-oo").matches());


1 commentaires

Oui, mais je considérerais aussi la chaîne vide valable, alors j'utiliserais "*" au lieu de "+". L'OP devrait clarifier.



0
votes

Je vois la réponse et je souhaite ajouter une autre solution, j'ai préféré cette solution car est plus personnalisable.

Le caractère de classe a la méthode, comme.Enletter (). Vous pouvez aussi voir aussi le Documentation Java < / p>

J'ai un exemple de code comme celui-ci: xxx

maintenant, vous pouvez appeler xxx

ps: J'aime cette solution car est plus personnalisable et je pense qu'il est plus lisible qu'une regex. Mais est seulement mon opinion


0 commentaires