【问题标题】:How to split a string by 2 strings in Java如何在Java中将一个字符串拆分为2个字符串
【发布时间】:2017-10-13 02:58:08
【问题描述】:

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

<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

【问题讨论】:

    标签: java string text split word


    【解决方案1】:

    尝试使用正则表达式来提取感兴趣的值。这样你的代码就不会做任何假设,如果在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"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-02-01
      • 2013-05-28
      • 2018-09-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-21
      • 1970-01-01
      相关资源
      最近更新 更多