在python中从文本中提取数字字符串

在python中从文本中提取数字字符串,python,regex,pandas,text-extraction,Python,Regex,Pandas,Text Extraction,我正在尝试使用python从文本中提取数字字符串-示例:大田区大森北3.−24−27ルミエールN103“我只想要df中某列的'3-24-27'。我试过了,但错误表明语法无效。我现在与日语脚本,但我需要为其他语言以及这个工作。我是python新手,需要一些帮助-谢谢 使用str.extract Ex: import pandas as pd df = pd.DataFrame({"a": [ "大田区大森北3−24−27ルミエールN103"]}) print( df["a"].str.extrac

我正在尝试使用python从文本中提取数字字符串-示例:大田区大森北3.−24−27ルミエールN103“我只想要df中某列的'3-24-27'。我试过了,但错误表明语法无效。我现在与日语脚本,但我需要为其他语言以及这个工作。我是python新手,需要一些帮助-谢谢

使用
str.extract

Ex:

import pandas as pd
df = pd.DataFrame({"a": [ "大田区大森北3−24−27ルミエールN103"]})
print( df["a"].str.extract(r"(\d+−\d+−\d+)") )
0    3−24−27
Name: a, dtype: object
输出:

import pandas as pd
df = pd.DataFrame({"a": [ "大田区大森北3−24−27ルミエールN103"]})
print( df["a"].str.extract(r"(\d+−\d+−\d+)") )
0    3−24−27
Name: a, dtype: object
  • 注意:我使用了
    不是键盘中的减号(
    -

    • 使用
      str.extract

      Ex:

      import pandas as pd
      df = pd.DataFrame({"a": [ "大田区大森北3−24−27ルミエールN103"]})
      print( df["a"].str.extract(r"(\d+−\d+−\d+)") )
      
      0    3−24−27
      Name: a, dtype: object
      
      输出:

      import pandas as pd
      df = pd.DataFrame({"a": [ "大田区大森北3−24−27ルミエールN103"]})
      print( df["a"].str.extract(r"(\d+−\d+−\d+)") )
      
      0    3−24−27
      Name: a, dtype: object
      
      • 注意:我使用了
        不是键盘中的减号(
        -

      您可以仅使用正则表达式标准库执行此操作:

      import re
      
      pattern = '(\d+−\d+−\d+)'
      text = '大田区大森北3−24−27ルミエールN103'
      result = re.search(pattern, text)
      print(result.group(0))
      

      该模式使用“\d+”仅获取数字和“-”,在您的示例中用作分隔符。

      您可以仅使用正则表达式标准库来实现这一点:

      import re
      
      pattern = '(\d+−\d+−\d+)'
      text = '大田区大森北3−24−27ルミエールN103'
      result = re.search(pattern, text)
      print(result.group(0))
      

      该模式使用“\d+”仅获取数字,而“-”在您的示例中用作分隔符。

      请显示您使用的代码。数字字符串的格式是否始终为#-#-#?例如,字符串末尾也有103,但似乎不希望这样。那么,如何确定哪些数字字符是您真正想要的呢?请尝试在导入之前将
      #-*-编码:utf-8-*-
      添加到文件的顶部。请尝试输入完整代码,以便我们能够找到答案欢迎使用堆栈溢出!请复习一下。您应该发布代码和错误的示例。由于这是一个语法错误,查看您的实际代码将有助于检查拼写错误或其他问题。请显示您使用的代码。数字字符串的格式是否始终为#-#-#?例如,字符串末尾也有103,但似乎不希望这样。那么,如何确定哪些数字字符是您真正想要的呢?请尝试在导入之前将
      #-*-编码:utf-8-*-
      添加到文件的顶部。请尝试输入完整代码,以便我们能够找到答案欢迎使用堆栈溢出!请复习一下。您应该发布代码和错误的示例。由于这是一个语法错误,查看您的实际代码将有助于检查拼写错误或其他问题。如果ans解决了您的问题,请接受ans(ans旁边的勾号)谢谢如果ans解决了您的问题,请接受ans(ans旁边的勾号)谢谢