java - 如何在Java中将一个字符串分割为2个字符串

标签 java string text split cpu-word

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

<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

最佳答案

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

关于java - 如何在Java中将一个字符串分割为2个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46721836/

相关文章:

Java import jgoodies.forms.factories.* 无法解析。 ( eclipse 月神)

python - 使用预定义的表在 r 中搜索 Dataframe 中的字符串并添加相应的列

c++ - C/C++ 将二进制数据映射到结构成员

html - 如何将 HTML 表格转换为固定字体的文本表格?

c++ - 写很多txt文件(90),每个文件5MB,耗时1400s

java - 如何从 Java 中的 tiff 检索 16 位像素数据?

java - 无法在弹出的 Richfaces 面板中制作 "delete"

php - 将 MySQL 文本字段编码为 UTF-8 文本文件 - 特殊字符问题

java - 从自定义列表中获取值

Java 字符串 - UTF 和字节表示