卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章35120本站已运行394

如何在极坐标上获取 str.contains() 中的字符串匹配起始位置?

如何在极坐标上获取 str.contains() 中的字符串匹配起始位置?

问题内容

我知道我可以使用 str.contains() 来检查列中是否包含字符串,例如:

import polars as pl
df = pl.dataframe({"a": ["my name is bob","my little pony, my little pony"]})
(df.with_columns(bbb = pl.col('a').str.slice(1,10000).str.contains(pl.col('a').str.slice(0,10), literal=true)
                  )
 )

我想要的是比赛的确切起始位置,而不仅仅是一个布尔值,如:

import re
x = re.search(r"pony","my little pony")
print(x.start(),x.end())

我怎样才能做到这一点?


正确答案


您可以使用series.str.find()方法:

import polars as pl
df = pl.DataFrame({"a": ["my name is Bob","my little pony, my little pony"]})
df.with_columns(
    bbb=pl.col('a').str.slice(1,10000).str.find(
            pl.col('a').str.slice(0,10), literal=True)
        )
 )
卓越飞翔博客
上一篇: golang 中的适配器模式
下一篇: 返回列表
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏