| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2210 人关注过本帖
标题:求一种特殊字符串截取语句
只看楼主 加入收藏
ictest
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:333
专家分:114
注 册:2010-2-17
结帖率:70%
收藏
已结贴  问题点数:10 回复次数:6 
求一种特殊字符串截取语句
我在读取一个文本文件固定位置时,得到一种字符串,形状如下:
0V@2V
0uA@1MA
398.297327uA@1MA
0.974035V@2V
1000V@2V
-54.024479V@2V
0.537198V@2V

目前想光提取前面的数值,例如:

0V@2V                                   0
0uA@1MA                                 0
398.297327uA@1MA                        398.297327
0.974035V@2V            提取成==>       0.974035
1000V@2V                                1000
-54.024479V@2V                          -54.024479
0.537198V@2V                            0.537198


这种通用的字符串截取语句怎么写?


[此贴子已经被作者于2018-2-28 11:35编辑过]

搜索更多相关主题的帖子: 特殊字符 截取 语句 字符串 提取 
2018-02-28 11:27
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4947
专家分:30084
注 册:2008-10-15
收藏
得分:2 
一行一行的使用 val 函数就可以了。

授人于鱼,不如授人于渔
早已停用QQ了
2018-02-28 13:23
xiangyue0510
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:86
帖 子:938
专家分:5244
注 册:2015-8-10
收藏
得分:0 
你始终是字符串的处理都搞不清楚,一直在这样的问题上纠结……
2018-02-28 14:13
xyxcc177
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:26
帖 子:197
专家分:1249
注 册:2017-7-8
收藏
得分:2 
程序代码:
Rem 用正则解决这个问题,首先引用Microsoft VBScript Regular Expressions 5.5
Dim exp As New RegExp
Dim strReg As String
strReg = "[0-9.-]+"
exp.Global = True
exp.Pattern = strReg
Dim mach As MatchCollection
Set mach = exp.Execute("-34234.33ffdfj")

 
MsgBox mach(0).Value

Rem  如果是取多个可以如下:

Set mach = exp.Execute("-34234.33ffdfjFJFJ3242,EWRW0.2344")
Dim i As Integer

 For i = 0 To mach.Count - 1
  MsgBox mach(i).Value

 Next


[此贴子已经被作者于2018-2-28 18:11编辑过]

2018-02-28 18:07
xyxcc177
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:26
帖 子:197
专家分:1249
注 册:2017-7-8
收藏
得分:2 
你这个@后面还有一个数字,用替换比较好
程序代码:
Dim exp As New RegExp
Dim strReg As String
strReg = "[a-zA-Z]+@\d+\w+"
exp.Global = True
exp.Pattern = strReg
Dim mach As MatchCollection
'Set mach = exp.Execute("0uA@1MA")
Dim str As String
str = exp.Replace("23423Ad@9jjl", "")
MsgBox str


[此贴子已经被作者于2018-2-28 18:27编辑过]

2018-02-28 18:19
wds1
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:49
帖 子:393
专家分:2025
注 册:2016-3-10
收藏
得分:2 
判首字符如果是数字,之后使用val函数。
判断的作用:如果首字符不是数字,他也会返回0,排除这种特例。



[此贴子已经被作者于2018-3-1 15:16编辑过]

2018-03-01 11:19
suzhanpeng
Rank: 4
等 级:业余侠客
威 望:7
帖 子:72
专家分:248
注 册:2016-9-28
收藏
得分:2 
前面逐行读取就不说了
后面处理如下:
Dim a As Integer, b As String, c As String, i As Integer
a = Len(字符串)
For i = 1 To a
    b = Mid(字符串, i, 1)
    If IsNumeric(b) = True Or b = "-" Or b = "." Then
        c = c + b
    Else
        Exit For
    End If
Next
MsgBox c

[此贴子已经被作者于2018-3-1 15:41编辑过]

2018-03-01 15:38
快速回复:求一种特殊字符串截取语句
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.044780 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved