python - Pandas 正则表达式提取网络IP地址子串

标签 python regex pandas ip-address

如何使用正则表达式查找 IP 网络?

例子

IP 
234.523.213.462:321
21.236.432.123:66666
213.406.421.436:7324

我要

IP                Port 
234.523.213.462   321
21.236.432.123    66666
213.406.421.436   7324

需要帮助! 谢谢。

最佳答案

使用矢量化 pandas 方法 str.split :

df[['IP','Port']] = df.IP.str.split(':', expand=True)
print (df)
                IP   Port
0  234.523.213.462    321
1   21.236.432.123  66666
2  213.406.421.436   7324

正则表达式的解决方案(如果只有数字,:.):

df[['IP','Port']] = df.IP.str.extract('(.*):(.*)', expand=True)
print (df)
                IP   Port
0  234.523.213.462    321
1   21.236.432.123  66666
2  213.406.421.436   7324

关于python - Pandas 正则表达式提取网络IP地址子串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42500898/

相关文章:

java - 是否有一个 java "regular expression"库支持任意对象序列,而不仅仅是字符串(字符序列)?

python - 迭代 Pandas 中的行组

pandas - 根据第一行的条件分组并应用 lambda - Pandas

Python 3.4 缺少 _ssl.pyd

python - 大数的模 10 |检查数字是否为 10 的幂

python - 将表格分隔符更改为另一个字符

python - 限时输入?

c++ - std::regex_match 和具有奇怪行为的惰性量词

javascript - JavaScript 中的正则表达式匹配错误

python - Pandas - 将列附加到 DataFrame