【问题标题】:Not recognising hyphen on split拆分时无法识别连字符
【发布时间】:2019-10-21 08:42:57
【问题描述】:

我正在处理大约 24k 的文本文件,并在“-”上分割了一些行。它适用于某些文件,但无法拆分其他一些文件。

company_participants 是一个包含N >= 1 元素的列表,每个元素都由一个名称和一个连字符(“-”)和职位组成。要获取名称,我使用:

names_participants = [name.split('-')[0].strip() for name in company_participants]

经过仔细检查,我发现它由于某种原因无法将“-”识别为“-”。

例如,company_participants 中的第一个元素是“robert isom - 总统”

调用company_participants[0].split()[2] 返回“-”,因为我在空格上进行了拆分,连字符是第三个元素(索引 2)。

当我运行一个布尔值是否等于“-”时,我得到 False。

company_participants[0].split()[2] == "-"  # Item at index 2 is the hyphen
# Output = False

知道这里发生了什么吗?还有其他看起来像连字符但不是连字符的东西吗?

非常感谢!

【问题讨论】:

  • 可以由binary encoded strings:b'-' != '-'
  • company_participants[0].split()[2] == b"-" 仍然返回 False 很遗憾。我还仔细检查了类型 (type(company_participants[0].split()[2])) 并返回 str
  • 我建议你检查company_participants_full[0].split()[2]的类型。
  • 已检查,这是一个字符串。但我似乎找到了解决方案;立即发布!

标签: python text split nlp


【解决方案1】:

所以我发现这实际上已经在 StackOverflow 的其他地方得到了回答。

显然我正在处理“破折号”而不是“连字符”;肉眼看不出有什么区别,但是当我从here复制符号时,它会识别它,因此company_participants[0].split()[2] == "–"返回True。

#textDataProblems
#didNotSeeThatComing

谢谢 StackOverflow!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多