智游城

标题: 题目-怎么编辑这些数字最快 [打印本页]

作者: 老陈    时间: 2013-3-11 22:23
标题: 题目-怎么编辑这些数字最快
在计算机的一个文件里以文本形式存放相当多的文本数据,每一行都是一个数字,小数点后全是6位随机的数字,怎么使用文本编辑的功能,以最快的速度把小数点和后面的数字去掉,并且保持整数部分不变?
作者: Howard    时间: 2013-3-12 00:20
测试字符串长度n然后取前n-7位?

或者,

寻找小数点位置m,取前m-1位?

或者,

定义整型变量i,令i= 某一行,然后保存i?
作者: Howard    时间: 2013-3-12 00:22
i = floor(theRealValue) 之类的,好像有个不大于该value的最大整数的函数
作者: zdy32167    时间: 2013-3-12 11:22
是我的话
1. *nix
awk -F. '{print $1}' frac.txt > int.txt
2. M$ excel
import data, use '.' as separator, del col B
3. 用任意支持正则表达式的编辑器编辑
4. 编脚本或者编程做

作者: maomaobiao    时间: 2013-3-12 12:14
excel支持打开这种文件

如果你说的没错,那么用小数点作为分隔符号,会在excel中生成两列数据,删掉第二列,保存文件即可。具体操作有待验证
作者: 1428    时间: 2013-3-12 22:21
本帖最后由 1428 于 2013-3-12 22:51 编辑

[attach]2597[/attach][attach]2597[/attach][attach]2598[/attach]

先打黑,然后点这个符号。
作者: dengxianqi    时间: 2013-3-13 00:43
既然是文本编辑,就说说我知道的两个文本编辑工具来实现这个目的的方法:
1, Excel
excel的“分列”功能,使用小数点符号作为分隔符,可以把小数点前和小数点后分成两列数。

缺点:Excel 2003 or 更低级的,只支持最多65535行数据。超过了不行。Excel 2007 或以上的,印象中支持的行数多了一个数量级左右,仍然不能用来处理“相当大”的这样的文件。

2, Word
用word打开这个文本,全选,点击“右对齐”,取消“全选”状态,然后按住Alt键,用鼠标来选择小数点前的部分,拷贝粘贴到另一个文档。

缺点:行数多了的话,不太可行。因为这种”选择“貌似无法使用shift功能。如果行数较少,这个办法挺方便。






作者: dengxianqi    时间: 2013-3-13 00:45
1428 发表于 2013-3-12 22:21
先打黑,然后点这个符号。

我怎么没看懂?

作者: 老陈    时间: 2013-3-13 16:04
用Excel是比较容易做的。
1、把数据搞到表里放到第一列。
2、第二列用函数,把第一列的小数截掉。
3、复制第二列,用选择性粘贴,把数据粘贴到第三列。
4、把第三列复制粘贴到文本文件。
可惜的这不是文本编辑的方法。

作者: angest    时间: 2013-3-13 21:12
80%的编辑工具都支持正则表达式
替换\..*为空字符串即可
作者: yoking    时间: 2013-3-13 23:26
不就是取整吗?用EXCEL在B1填“=INT(A1)”

作者: yoking    时间: 2013-3-13 23:53
用word,  不要勾“使用通配符”, 然后将  .^#^#^#^#^#^#^p   替换成 ^p  (如果每个数字后面都是换行符的话)






欢迎光临 智游城 (http://zhiyoucheng.co/) Powered by Discuz! X3.2