Is er een onzichtbaar karakter dat niet wordt beschouwd als WhiteSpace?

Ik werk met een bestaand raamwerk waarbij ik een bepaald kenmerk moet instellen op blanco als er een bepaalde voorwaarden is voldaan. Helaas staat het raamwerk niet toe om alleen witruimte in te stellen op de attribuutwaarde. Specifiek doet het een

!(org.apache.commons.lang.StringUtils.isBlank(value))Controle op de waarde

Is het mogelijk om dit op de een of andere manier omzeilen en een waarde in te stellen die er leeg / onzichtbaar uitziet voor het oog, maar wordt niet beschouwd als WhiteSpace?

Ik gebruik nu een dashboard “-” nu, maar ik denk dat het interessant zou zijn om te weten of het mogelijk is.


Antwoord 1, Autoriteit 100%

Probeer Unicode-teken ‘Zero Width Space’ (U + 200B) . Het is geen witruimte volgens WP: WhiteSpace # Unicode

De code van StringUtils.Isblank stoort het niet:

public static boolean isBlank(String str) {
int strLen;
if (str == null || (strLen = str.length()) == 0) {
          return true;
     }
for (int i = 0; i < strLen; i++) {
     if ((Character.isWhitespace(str.charAt(i)) == false)) {
                   return false;
                }
         }
 return true;
  }

Antwoord 2, Autoriteit 81%

Er staan ​​ook (U + 2800 Braille Pattern Pattern), die een leeg brailleblok is in plaats van een ruimtekarakter.


Antwoord 3, Autoriteit 14%

Dat Unicode-teken ‘Zero Width Space’ (U + 200b) Michael Konietzka heeft niet voor mij gewerkt, maar vond een andere die deed:

‏‏‎ ‎

het identificeert eigenlijk als combinatie van

U+200F : RIGHT-TO-LEFT MARK [RLM]
U+200F : RIGHT-TO-LEFT MARK [RLM]
U+200E : LEFT-TO-RIGHT MARK [LRM]
U+0020 : SPACE [SP]
U+200E : LEFT-TO-RIGHT MARK [LRM]

En de ASCII-waarde is 8207

‏‏‎'‏‏‎ ‎'.charCodeAt(0) // 8207

Bron: http://emptycharacter.com/


Antwoord 4, Autoriteit 3%

http://emptycharacter.com/ geweldig

Voor mij js string.fromcharcode (8287). Herhaal (30)
gaf me echte maar onzichtbare spaties


Antwoord 5

Alles wat u hoeft te doen is gewoon kopiëren: {}

Other episodes