查看: 695|回复: 11
收起左侧

[软件] 去除到数第n个符号后的内容。

[复制链接]
mifanu
发表于 2020-7-5 10:56:20 | 显示全部楼层 |阅读模式
本帖最后由 mifanu 于 2020-7-5 10:59 编辑

比如
185.94.111.1
193.169.252.21
45.165.244.128
45.165.244.128
45.165.244.134
45.165.244.173
45.165.244.185
45.165.244.203
45.165.244.212
45.165.244.225
45.165.244.239
45.165.244.240
45.165.244.65
45.165.244.79
45.165.246.121
45.165.246.139
45.165.246.60
45.165.246.64
129.250.206.86
167.99.147.250
172.107.95.30
我经常要整理成
185.94.111
193.169.252
45.165.244
45.165.244
45.165.244
45.165.244
45.165.244
45.165.244
45.165.244
45.165.244
45.165.244
45.165.244
45.165.244
45.165.244
45.165.246
45.165.246
45.165.246
45.165.246
129.250.206
167.99.147
172.107.95
还有
185.94
193.169
45.165
45.165
45.165
45.165
45.165
45.165
45.165
45.165
45.165
45.165
45.165
45.165
45.165
45.165
45.165
45.165
129.250
167.99
172.107
我现在只能用最笨的方法,就是以点分成四列,再对前两列加点。还有没有更简单的方法。可以去除倒数指定第n个符号后面的内容。
Akiyama_mio
发表于 2020-7-5 11:38:42 | 显示全部楼层
本帖最后由 Akiyama_mio 于 2020-7-5 12:08 编辑

python.py (写的代码非常粗糙。技术不精。)
可以使用rsplit,把string从右边开始分成list后再切片。
代码示意如下,准备1.txt为原始数据文件, 之后会输入到2.txt里面。
  1. with open('1.txt') as file_object:
  2.     with open('2.txt', 'a') as file_to_write:
  3.         for line in file_object:
  4.             new_line = line.rsplit('.', 1)[0]
  5.             file_to_write.writelines(new_line + '\n')
复制代码

如果需要保留前2项,把line.rsplit('.', 1)[0]的1改成2.
效果如下:


参考下面这两个:https://docs.python.org/3/library/stdtypes.html#str.split
https://stackoverflow.com/questions/22125782/remove-the-last-part-of-string-separated-with-dot-in-python



哈哈,上个帖子我回了大概需要一个python(


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?快速注册

x

评分

参与人数 1人气 +2 收起 理由
mifanu + 2 版区有你更精彩: )

查看全部评分

落华无痕
发表于 2020-7-5 13:02:54 | 显示全部楼层
编程,或者用支持正则表达式替换的编辑器。
如Notepad++,Ctrl+H替换,勾选正则表达式,查找\.[0-9]+\r\n替换成\r\n。

“.”是特殊字符,需要前面加\代表普通的“.”,[0-9]匹配0到9的数字,“+”表示匹配前面的[0-9] 1次或n次,\r\n代表换行。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?快速注册

x

评分

参与人数 1人气 +1 收起 理由
mifanu + 1 版区有你更精彩: )

查看全部评分

nmyh
发表于 2020-7-5 14:41:23 | 显示全部楼层
弄了个htm(js)网页文件,可以设置N数值,可以设置具体符号。





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?快速注册

x

评分

参与人数 1人气 +3 收起 理由
mifanu + 3 太厉害了。

查看全部评分

cyclonebaby
发表于 2020-7-5 16:15:42 | 显示全部楼层

奇怪,我怎么图片和附件都上不了,论坛有什么问题吗?


用Excel公式提取一下即可
A1粘贴你需要提取的数据

B1公式:
=TRIM(LEFT(SUBSTITUTE($A1,".",REPT(" ",99),3),99))
红色3就是类似参数的数值,3就是保留.的前3段数字
同理,改成2就是保留前2段
改成1就是保留前一段

然后把公式拖动右下角向下复制即可



mifanu
 楼主| 发表于 2020-7-5 19:18:49 | 显示全部楼层
Akiyama_mio 发表于 2020-7-5 11:38
python.py (写的代码非常粗糙。技术不精。)
可以使用rsplit,把string从右边开始分成list后再切片 ...

你好。python的主程序是什么?也就是用什么打开py呢。是在windows下的可视化软件么?
不知道你举的例子是linux,还是windows。我的是windows。是要下载python么,能否推荐个版本。我怕我下错了。
mifanu
 楼主| 发表于 2020-7-5 19:20:42 | 显示全部楼层
落华无痕 发表于 2020-7-5 13:02
编程,或者用支持正则表达式替换的编辑器。
如Notepad++,Ctrl+H替换,勾选正则表达式,查找\.[0-9]+\r\n ...

谢谢。我看看。
mifanu
 楼主| 发表于 2020-7-5 19:22:44 | 显示全部楼层
nmyh 发表于 2020-7-5 14:41
弄了个htm(js)网页文件,可以设置N数值,可以设置具体符号。

谢谢。羡慕大佬的才华。这个应该是很方便。
mifanu
 楼主| 发表于 2020-7-5 19:26:26 | 显示全部楼层
cyclonebaby 发表于 2020-7-5 16:15
奇怪,我怎么图片和附件都上不了,论坛有什么问题吗?

谢谢。你这个公式很长。我估计短期理解不了。昨天我刚学会移除后两位的公式=LEFT(a1,LEN(a1)-2)。
Akiyama_mio
发表于 2020-7-5 21:11:54 | 显示全部楼层
本帖最后由 Akiyama_mio 于 2020-7-5 21:13 编辑
mifanu 发表于 2020-7-5 19:18
你好。python的主程序是什么?也就是用什么打开py呢。是在windows下的可视化软件么?
不知道你举的例子 ...

python.org下载一个python安装包,安装后需要新建一个.py后缀的文件,把代码丢进去后。让这个.py文件和1.txt在同一个文件夹里就可以双击了。(前提是你安装python的时候做了py文件关联。不分平台
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2024-11-24 19:46 , Processed in 0.136277 second(s), 18 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

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