java - 如何解析一个字符串与另一个字符串的比较?

标签 java string parsing compare match

在 Java 中,我想提取一个以逗号分隔的字符串与另一个字符串相比的差异。

例如

我想要从中提取差异的字符串:1,hello,fire,dog,green

我要比较的字符串:1,hello,water,dog,yellow

因此,该函数的结果将为我提供一个 [3,fire] 和 [5,green] 的数组列表,因为这些项目与第二根弦,分别是“水”和“黄”。这些数字是检测到差异的每个项目的索引位置。其他项目匹配且不予考虑。

最佳答案

首先,您可以创建自己的 Pair 类(基于 Creating a list of pairs in java ),不必是模板。

然后做这样的事情:

拆分两个字符串:

List<String> toCompareSplit= Arrays.asList(toCompare.split(","));
List<String> compareWithSplit= Arrays.asList(compareWith.split(","));

迭代列表:

List<Pair> diffList= new ArrayList<Pair>(); 
for (int i= 0; i < toCompareSplit.size; i++){
    if (!toCompareSplit.get(i).equals(compareWithSplit.get(i))){
        Pair pair= new Pair(i+1, toCompareSplit.get(i));
        diffList.add(pair);
    }
}

如果列表大小不同,您可以运行到最短列表的末尾,等等。

关于java - 如何解析一个字符串与另一个字符串的比较?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26235542/

相关文章:

java - 在文件中存储具有相同键的多个数据并从 shell 脚本获取值?

java - 如何从Java中不断变化的模板中提取字符串?

java - for 循环中的字符串文字与 for 循环中的字符串生成器

json - 需要帮助使用 Alamofire 使用 Swift 解析 JSON

java - 使用 Rhino 的 Javascript 解析器,如何获取注释?

java - 空对象引用上的 FFmpeg.execute.FFmpegExecuteResponseHandler

java - Java 中 hashmap.get 和 treemap.get 谁更快

Java - 接口(interface) - 如何在多个 Activity 中一起分配特定接口(interface)

c++ - 将字符串拆分为邻接矩阵索引

python - 在解析模块中,如何从解析值中去除空格?