以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]如何按照规则的文本转换成层级编码  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=97695)

--  作者:chnfo
--  发布时间:2017/3/16 22:42:00
--  [求助]如何按照规则的文本转换成层级编码
表A中有一列,是用文本表述的,各行示例如下:
一、物品
(一)办公用品
1、电子
2、笔
3、本子
(1)A3本
(2)A4本
(3)B5本
A、**
B、**
(二)厨房用品
1
(1)
(2)
2
(1)
(2)
3
(1)

如何根据这样的文字编码形成数字层级码,例如
1
1.1
1.1.1
1.1.2
1.2
……
[此贴子已经被作者于2017/3/16 22:42:26编辑过]

--  作者:有点色
--  发布时间:2017/3/17 2:30:00
--  

按顺序循环每一行。

 

如果碰见如 一、二、三,就得到 1、2、3

 

如果碰见 (一),就得到上面的比如2.1

 

以此类推。


--  作者:chnfo
--  发布时间:2017/3/17 13:20:00
--  
Dim zw1 As String = "零一二三四五六七八九"
Dim val1 As String = "6九八1"
Dim val2 As String
For Each c  As String In val1
   If Char.IsDigit(c) Then
        val2 = val2 & zw1(cint(c))
    Else
        val2 = val2 & zw1.IndexOf(c)
    End If
Next
output.show(val2)

另:
如何判断这个字符串是以大写字母开头,还是以小写字母开头,还是以中文数字开头,还是以阿拉伯数字开头?
[此贴子已经被作者于2017/3/17 14:37:16编辑过]

--  作者:有点蓝
--  发布时间:2017/3/17 14:20:00
--  
没有的,这个只能使用笨办法
--  作者:chnfo
--  发布时间:2017/3/17 14:38:00
--  
如何判断这个字符串是以大写字母开头,还是以小写字母开头,还是以中文数字开头,还是以阿拉伯数字开头?
--  作者:有点色
--  发布时间:2017/3/17 15:00:00
--  
以下是引用chnfo在2017/3/17 13:20:00的发言:
问题是大写的用户直接写成“一六三”,不是“一百六十三”,这个咋整?如果把它拆分为一个个字符,再转换为数值,这个效率就有点……

CLNum可以将数字转换为中文,有没有将中文转换为整数的函数?

[此贴子已经被作者于2017/3/17 13:29:49编辑过]

 

写什么不要紧,不是按照顺序下来的吗?按照顺序累加1,不管是什么字符。