如何取提取数值部分.(100)

  • 主题发起人 主题发起人 lingmao3
  • 开始时间 开始时间
L

lingmao3

Unregistered / Unconfirmed
GUEST, unregistred user!
memo1.text:='中间2块田 2-4 5 米长 ';请门我如何只提取其中数值部分及"-"和中间的一个空格.结果为:'2-4 5'
 
你的数据最好是有规律的数据,否则你就有麻烦了。我以前做过类似的分析,是从数据库里提取数据进行分析。你要拿到大量的数据进行分析,找出其中的规律,你也许可以找到方法。就你的问题而言,因为汉字是由两个字符组成,所以汉字的ASCII码大于128,你一个个判断,如果大于128就放过,就可以得到数字和字母及常见字符了,然后可以进一步缩小范围,比如:去掉字母。
 
如果所有数据都是一个模式:1、可以用正则表达式。2、可以取第一个空格和最后一个空格之间的文本。
 
只要数字前面有空格就行,不然:中间2块田 的 2 又不要,就麻烦了!var youstr:string; i:word;begin youstr:=''; i:=1; repeat if (str=' ') and (i<length(str)) then if (str[i+1] in ['0'..'9']) then begin i:=i+1; while (str in ['0'..'9']) or (str in ['+','-']) do begin youstr:=youstr+str; i:=i+1; if (i>=length(str)) then break; end; end; until (i>=length(str));end;
 
没理解你的意思 我也不知道怎么帮你 希望你可以说清楚点 用copy pos应该能解决吧
 
多人接受答案了。
 
后退
顶部