【发布时间】:2021-06-07 14:12:30
【问题描述】:
我有以下几行:
'RECIPIENT_REFUSED',
'DELIVERED',
'DELIVERING_TO_DESTINATION',
'DRIVER_CONFIRMATION_PENDING',
'IN_PAYMENT',
'NOT_PAID',
'PAID',
'QUOTE_EXPIRED',
'QUOTE_REJECTED',
'QUOTE_UNDECIDED',
'TIME_CHANGED'
'ARRIVED_AT_DESTINATION',
'ARRIVED_AT_PICKUP',
'CANCELLED_BY_RECIPIENT',
'CANCELLED_BY_XXX',
'CANCELLED_BY_SHOP',
'CANCELLED_BY_TRANSPORT',
'DISPATCH_PENDING',
'DRIVING_TO_PICKUP',
'ITEMS_PICKED_UP',
'RECIPIENT_ABSENT',
标记所有这些,然后运行编辑 | 生产线操作 | Sort Lines Lexicographically*(无论我选择什么选项)都不能正确地对上面的行进行排序。这是按字典升序排序后的结果:
'ARRIVED_AT_DESTINATION',
'ARRIVED_AT_PICKUP',
'CANCELLED_BY_RECIPIENT',
'CANCELLED_BY_XXX',
'CANCELLED_BY_SHOP',
'CANCELLED_BY_TRANSPORT',
'DISPATCH_PENDING',
'DRIVING_TO_PICKUP',
---- Below this line the sort order is wrong but it doesn't change
---- when I re-run the sort functions
'ITEMS_PICKED_UP',
'RECIPIENT_ABSENT',
'RECIPIENT_REFUSED',
'DELIVERED',
'DELIVERING_TO_DESTINATION',
'DRIVER_CONFIRMATION_PENDING',
'IN_PAYMENT',
'NOT_PAID',
'PAID',
'QUOTE_EXPIRED',
'QUOTE_REJECTED',
'QUOTE_UNDECIDED',
'TIME_CHANGED'
我做错了什么,我误解了这些函数的输出,是我的 Notepad++ 安装配置不正确还是 Notepad++ 错误?有什么想法/提示吗?
Notepad++ 7.9.5 和这些已安装的插件:
- Mime 工具 2.5
- Npp 转换器 4.2.1
- NppExport 0.2.9
更新:
没有隐藏字符。这是来自 MySQL 的 ENUM 列表,我想对其进行排序。所有其他工具都可以正确排序。
更新:
这里是来自 NP++ 的屏幕截图,显示了所有字符。
更新:
如何重现它:
这是从 phpMyAdmin 从ENUM 表字段复制到空 NP++ 选项卡的列表:
'ARRIVED_AT_DESTINATION', 'ARRIVED_AT_PICKUP', 'CANCELLED_BY_RECIPIENT', 'CANCELLED_BY_SFD', 'CANCELLED_BY_SHOP', 'CANCELLED_BY_TRANSPORT', 'DISPATCH_PENDING', 'DRIVING_TO_PICKUP', 'ITEMS_PICKED_UP', 'RECIPIENT_ABSENT', 'RECIPIENT_REFUSED', 'DELIVERED', 'DELIVERING_TO_DESTINATION', 'DRIVER_CONFIRMATION_PENDING', 'IN_PAYMENT', 'NOT_PAID', 'PAID', 'QUOTE_EXPIRED', 'QUOTE_REJECTED', 'QUOTE_UNDECIDED', 'TIME_CHANGED'
然后我将所有, 替换为,\n,因为行拆分 不会拆分行。
然后分割线以这种奇怪的方式排序。
【问题讨论】:
-
1) 这属于Super User。 2)I can't reproduce.
-
这在我看来也无法重现。也许有一些我们看不到的隐藏字符。
-
@PeterVARGA 一个版主或 3 个具有投票关闭权限的用户可以迁移它。但是,在当前状态下,我认为不应该迁移它,因为该问题不可重现。如果您在 Notepad++ 中打开一个新选项卡,将文本 from the question 复制下来,然后重试,是否仍然可以重现问题?
-
如果第一个选项不起作用,请使用
View > Show Symbol > Show All Characters或使用十六进制编辑器来识别隐藏的字符。 -
您可能使用的是 Windows,因此新文件的默认 EOL 模式是
CRLF(AKA,"\r\n")。现在,当您将值拆分为行时,您只使用"\n"(LF)。因此,从 Notepad++(使用 CRLF EOL 模式)的角度来看,它们在技术上并不是独立的行(至少它看起来是这样工作的)。
标签: notepad++