# 删除重复行

从列表中删除重复行，可保留第一个或最后一个副本、忽略大小写或空格，或删除所有重复出现的行。

https://codeknife.dev/zh/shanchu-chongfu-hang/

## 功能

从列表中删除重复的行。可以每行保留一个副本、删除出现多于一次的所有行，或只显示重复的行。保留的行保持原有顺序，并与你输入的完全一致。

## 使用方法

1. 每行输入或粘贴一项，或拖入文本文件。
2. 选择模式，并决定保留**第一个副本**还是**最后一个副本**。在“更多”中关闭**区分大小写**，让 `Apple` 与 `apple` 匹配；或开启**忽略行首尾空白**，让末尾的空格不会使行不同。
3. 复制或下载结果。**删除空行**会先去掉空行。

## 示例

每行保留一个副本：

```
b            b
a            a
b      →     c
c
a
```

使用**删除所有重复出现的行**，同一个列表只剩 `c`。使用**只显示重复项**，剩下 `b` 和 `a`。

## 须知

- 保留最后一个副本会把每行放在它最后出现的位置：`b, a, b, c, a` 变成 `b, c, a`。
- 不区分大小写时，保留第一个见到的副本，大小写与你输入的一致。
- 空行也算行。除非删除空行，否则两个空行是重复的。
- 文本末尾的单个换行会结束最后一行，而不是增加一个空行。

## 如何找出重复行？

两行文本完全相同就是重复。关闭区分大小写时，Apple 和 apple 算同一行；忽略首尾空白时，末尾带空格的行与不带空格的行相同。保留下来的行与你输入的完全一致，并保持原来的顺序。

## 常见问题

### 保留一个副本与删除所有重复出现的行有什么区别？

保留一个副本会让每行只剩一个，a, b, a 变成 a, b。删除所有重复出现的行会去掉出现多于一次的所有副本，a, b, a 变成 b。可用它找出只出现一次的值。

### 保留最后一个副本会改变顺序吗？

保留的行按所保留副本的位置排序。保留最后一个副本时，a, b, a 变成 b, a，因为最后的 a 在 b 之后。

### 这个工具会把我的行发送到别处吗？

不会。一切都在你的浏览器中进行。你输入的内容不会发送到我们的服务器。