2017-10-13 5 views
0

Bonjour j'essayer un certain temps pour diviser cette chaîne par deux motsiw un nt s plit str en g par 2 S tr ing s [java]

<input type="hidden" name="SYNCHRONIZER_TOKEN" value="2f56248e-e54d-48ef-8c8c-6028d6f3d63f" id="SYNCHRONIZER_TOKEN" /> 

une chaîne value = »

deux string "id =" SYNC

après chaque fraction de la chaîne doit ressembler à: 2f56248e-e54d-48ef-8c8c-6028d6f3d63f

comment puis-je le faire:/

Répondre

0

Essayez d'utiliser une regex pour extraire la valeur d'intérêt. De cette façon, votre code ne fait pas d'hypothèses et ne se cassera pas s'il y a quelque chose de complètement différent après value=...

import java.util.regex.Matcher; 
import java.util.regex.Pattern; 

public class SplitString { 
    public static void main(String[] args){ 
     String input = "<input type=\"hidden\" name=\"SYNCHRONIZER_TOKEN\" value=\"2f56248e-e54d-48ef-8c8c-6028d6f3d63f\" id=\"SYNCHRONIZER_TOKEN\" />\n"; 
     Pattern pattern = Pattern.compile("value=\"[a-zA-Z0-9-]+\""); 
     Matcher matcher = pattern.matcher(input); 
     if (matcher.find()){ 
      String keyValue = matcher.group(0); 
      String key = keyValue.split("=")[0]; 
      String value = keyValue.split("=")[1]; 
      System.out.println("KeyValue: " + keyValue); 
      System.out.println("Key: " + key); 
      System.out.println("Value: " + value); 
     } 
    } 
} 

La sortie ressemble à ceci

KeyValue: value="2f56248e-e54d-48ef-8c8c-6028d6f3d63f" 
Key: value 
Value: "2f56248e-e54d-48ef-8c8c-6028d6f3d63f" 
+0

Merci beaucoup 1+ ~! – ShitCrosoft