鱼C论坛

 找回密码
 立即注册
查看: 92|回复: 3

nlp中数据预处理的函数看不懂代码

[复制链接]
发表于 2024-10-14 16:56:23 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
def preprocessString(s):
    # Remove all non-word characters (everything except numbers and letters)
    s = re.sub(r"[^\w\s]", '', s)
    # Replace all runs of whitespaces with no space
    s = re.sub(r"\s+", '', s)
    # replace digits with no space
    s = re.sub(r"\d", '', s)
    return s
问题一:re是哪里的方法?
问题二:sub的用法是什么?
问题三:正则表达式的用法
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-10-14 16:56:30 | 显示全部楼层
问题一:`re`是Python中的正则表达式模块,完整名称是`re`模块。它提供了多种用于处理正则表达式的函数。

问题二:`sub`是`re`模块中的一个函数,用于替换字符串中的匹配项。其基本用法是`re.sub(pattern, repl, string)`,表示用`repl`替换`string`中所有匹配`pattern`的部分。在你的代码中:
- `re.sub(r"", '', s)`这个例子中,`r""`是空的正则表达式,应该不是你代码的本意,通常用于匹配不需要的字符。
- `re.sub(r"\s+", '', s)`用于将多个连续的空白字符替换为空。
- `re.sub(r"\d", '', s)`用于将所有数字字符替换为空。

问题三:正则表达式是一种用于描述字符模式的语言,可以用于查找和操作字符串。常见的用法包括:
- `\d`匹配任何数字字符。
- `\s`匹配任何空白字符(如空格、制表符)。
- `+`匹配前一个字符或表达式一次或多次。
- `[]`定义一个字符集,匹配其中的任意字符。
- `()`分组,用于提取匹配的子串。

在使用正则表达式时,通常以`r""`的形式定义,以避免字符串转义相关的问题。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-10-14 17:06:48 | 显示全部楼层
FishC 发表于 2024-10-14 16:56
问题一:`re`是Python中的正则表达式模块,完整名称是`re`模块。它提供了多种用于处理正则表达式的函数。
...
# Remove all non-word characters (everything except numbers and letters)
    s = re.sub(r"[^\w\s]", '', s)
这个是要替换【】中的任意字符,具体r"[^\w\s]"不懂是什么意思
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-10-14 17:06:56 | 显示全部楼层
Terence888 发表于 2024-10-14 17:06
# Remove all non-word characters (everything excep ...


在这个例子中,`r""`的正则表达式是空的,实际上并不会匹配任何字符,因此代码中的这行可能没有达到预期效果。

在正则表达式中,常常使用`r"pattern"`的形式,其中`r`是原始字符串标识符,表示字符串中的反斜杠`\`将被视为普通字符,而不是转义字符。这是为了方便写正则表达式,因为正则表达式中经常使用反斜杠来表示特殊的模式。

如果你想删除所有非字母或数字的字符,可以使用下面的正则表达式:
s = re.sub(r"[^\w]", '', s)

这里,`[^\w]`表示匹配任意不是字母或数字的字符。具体解释如下:
- `\w`匹配任意字母数字或者下划线字符。
- `^`在方括号内表示取反,所以`[^\w]`会匹配任何非字母、非数字的字符。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-22 13:06

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表