2009-10-05 5 views
3

Comment puis-je formater une chaîne de texte, comme givenname, nom, téléphone etc pour ressembler à des colonnes?Java de formatage de texte

cela ne le faire:

String customer = "\t"+surname+"\t"+givenname+"\t"+blablabla

Répondre

8

Voir la documentation String.format(). Utilisez longueur maximale chaque colonne peut être, plus 1.

+1

Ou utiliser la version plus simple [String.format (String, Object ...)] (http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html# format% 28java.lang.String,% 20java.lang.Object ...% 29) – Alex

2

Le problème avec l'utilisation des caractères de tabulation est que leur largeur dépend des paramètres de la console que vous utilisez pour l'affichage, ce qui signifie que vous ne pouvez pas garantir que toutes les colonnes alignera en utilisant cette approche.

En supposant que vous formatez le texte à une console en utilisant une police à espacement fixe, vous pouvez utiliser des caractères espace unique pour chaque pad chaîne. Pour ce faire, vous devez connaître la longueur maximale de chaque champ de chaîne pour une colonne donnée.

2

Il y a quelques bibliothèques dans le web sauvage sauvage qui peut le faire pour vous - avec la limitation générale qu'il fonctionne habituellement avec les polices monospaced (comme Courier). L'une de ces bibliothèques est la iNamik Text Table Formatter for Java, mais si vous utilisez google pour rechercher java text table, vous trouverez beaucoup plus.