Une histoire qui a souffert d'un espace qui ne disparaît pas même s'il est taillé avec Java La cause est BOM

Après avoir lu le fichier csv en Java, j'ai été extrêmement troublé lors du traitement des chaînes de caractères.

--Contexte

Effacer l'espace demi-largeur

En tant que méthode simple, exécutez String.trim (). (L'unicode de l'espace à ce moment est ** \ u0020 **)

Il y a encore un espace qui ne disparaît pas (unicode ** \ u00A0 **, etc.), mais il a été organisé sur le site suivant, alors veuillez vous y référer. https://eng-entrance.com/java-string-trim

Mais cette fois, l'espace n'a pas disparu de lui-même ...

Effacer ce qui ressemble à un espace demi-largeur

Lorsqu'il est sorti dans le journal des erreurs, le même affichage que "" (espace normal) apparaît. Si vous copiez et collez la sortie de l'espace à ce moment, un code de caractère différent de l'espace normal sera affiché. L'unicode à cette époque \uFEFF ……… Hum, qui?

Quand je l'ai recherché, c'était le nom unicode de la nomenclature http://e-words.jp/w/BOM.html.

Si vous savez cela, vous pouvez le remplacer! ** Pris en charge par String.replace ("\ uFEFF", "") **

** L'espace (comme) a disparu! Solution **

Il semble qu'une erreur se soit produite car le csv chargé utilisait UTF-8

Recommended Posts

Une histoire qui a souffert d'un espace qui ne disparaît pas même s'il est taillé avec Java La cause est BOM
Méthode de réglage qui ne change pas la taille même si le CSS est changé
Le problème que le JDK défini dans JAVA_HOME n'apparaît pas même si java -version est exécuté à l'invite de commande
[Java] Traitement de la situation où le programme qui écrit dans le flux de sortie du processus ne se termine pas même si waitFor
L'histoire que Tomcat a souffert d'une erreur de timeout dans Eclipse
[Firebase] Firebase Auth currentUser ne devient pas nul même après la désinstallation de l'application
Comment interagir avec un serveur qui ne plante pas l'application
J'ai créé un programme qui recherche la classe cible à partir du processus surchargé avec Java
L'histoire que link_to est profonde (cause inconnue)
Même en Java, je veux sortir vrai avec un == 1 && a == 2 && a == 3 (magie grise qui n'est pas tant que magie noire)
MockMVC renvoie 200 même si je fais une demande vers un chemin qui n'existe pas
PATH ne passe pas ... La cause est le code du caractère
L'histoire que .java est également construite dans Unity 2018
Au moment de l'événement dialogReturn, j'ai vérifié car il n'est pas mis à jour même si je spécifie un composant avec mise à jour
L'histoire selon laquelle le paramètre de requête de l'application iPhone n'a pas pu être obtenu avec le servlet
Ce n'est pas un gros problème si vous comprenez que j'étais accro à recevoir du courrier avec Java Mail depuis Exchange Online
[Java] com.sun.glass.WindowEvent est importé et la fenêtre ne se ferme pas
L'histoire selon laquelle un modèle n'est pas une "représentation correcte du monde réel" / la nécessité d'un contexte borné
Une histoire sur l'utilisation de l'API League Of Legends avec JAVA
Une histoire qui a eu du mal avec l'introduction de Web Apple Pay
[Gradle] Construisez un projet Java avec une configuration différente de la convention
[Java] Cela peut être heureux si la valeur de retour de la méthode qui retourne null est facultative <>
Lors de l'appel de sshpass depuis Java avec shell etc., il semble qu'il soit nécessaire d'avoir un chemin.
Un hachage actif qui peut être traité comme des données même s'il n'est pas dans la base de données
Une histoire que même un homme qui ne comprend pas le langage C pourrait ajouter de nouvelles fonctions à Ruby 2.6
[Java] JUnit qui NG lorsqu'une méthode avec un grand nombre de lignes est détectée en utilisant la magie noire
[Pour les débutants] Lorsque vous voulez dire que l'option JVM (-D) ne fonctionne pas avec la commande java -jar, ou que la bibliothèque est boguée.