代码之家  ›  专栏  ›  技术社区  ›  ShitCrosoft

在Java中如何将一个字符串拆分为2个字符串

  •  0
  • ShitCrosoft  · 技术社区  · 8 年前

    如何将这个字符串拆分为两个单词?

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

    字符串1: value="

    字符串2: " id="SYNC

    每次拆分后,字符串需要如下所示: 2f56248e-e54d-48ef-8c8c-6028d6f3d63f

    1 回复  |  直到 6 年前
        1
  •  1
  •   rgk    8 年前

    尝试使用正则表达式提取感兴趣的值。这样,您的代码就不会做出任何假设,而且如果之后出现完全不同的情况,代码也不会中断 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);
            }
        }
    }
    

    输出如下所示

    KeyValue: value="2f56248e-e54d-48ef-8c8c-6028d6f3d63f"
    Key: value
    Value: "2f56248e-e54d-48ef-8c8c-6028d6f3d63f"
    
    推荐文章