如何只将子字符串保留在一列中第一个空白字符之前?

时间:2019-08-09 00:50:01

标签: python string pandas find substring

这是我的数据样本:

a=pd.DataFrame({'ID':[1,2,3,4,5],
                'Str':['aa aafae afre ht4','v fef 433','1234334 a','bijf 049tu0q4g vie','aaa 1']})

现在,我只想将子字符串保留在第一个空白字符之前。我可以找到第一个空白字符的位置。但是我不知道该如何做下一部分。

我正在尝试打印句子的前三个单词的前一个字母,但是在d4 = y.find(" ", d3)部分中,程序无法将其标识为整数,并且如果将其转换为整数,因为我在10以上,所以会导致错误。

我该如何解决问题?

1 个答案:

答案 0 :(得分:0)

让我们使用示例字符串this is just a test

如果空格只是空格

您可以执行以下操作:

test = "this is just a test"
first_word = test.split(" ")[0]
print(first_word)

这将导致this

我在这里做什么

  • 用空格将字符串分成单词数组:test.split(" ")
  • 仅选择位置0处的第一个元素:[0]

如果空格可以是任何空格(空格,制表符等)

您可以像这样使用正则表达式:

import re

test = "this is just a test"
first_word = re.sub('\s.*', '', test)
print(first_word)

在这里,我先搜索空白('\ s'),然后再搜索任何文本(.*),然后将其替换为空白('')。

如果要使用查找

test = "this is just a test"
space_pos = test.find(" ")
first_word = test[:space_pos]
print(first_word)