以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何判定一个字符串中包含某字符的个数  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=37466)

--  作者:cxabc123
--  发布时间:2013/7/4 11:32:00
--  如何判定一个字符串中包含某字符的个数
比如一字符串:"daew,,,,fewds",这个字符串中包含多个“,”,如何判断逗号“,”的个数,请那位高手指教
--  作者:Bin
--  发布时间:2013/7/4 11:35:00
--  
Dim str As String = "daew,,,,fewds"
Dim count As Integer=0
For Each c As Char In str
    If c = "," Then
        count=count+1
    End If
Next
MessageBox.show(count)

--  作者:cxabc123
--  发布时间:2013/7/4 11:39:00
--  
谢谢,看来不知道的东西还有很多
--  作者:lsy
--  发布时间:2013/7/4 13:04:00
--  
Dim s As String = ",da,,ew,,,,few,d,,s,"
Dim i As Integer
For j As Integer = 0 To s.Length - 1
    If s(j) = "," Then
        i + = 1
    End If
Next
MessageBox.Show(i)

--  作者:程兴刚
--  发布时间:2013/7/4 14:41:00
--  
Dim s As String = ",da,,ew,,,,few,d,,s,"
Dim i As Integer = s.Length - s.Replace(",","").Length
MessageBox.Show(i)

--  作者:lsy
--  发布时间:2013/7/4 14:43:00
--  
以下是引用程兴刚在2013-7-4 14:41:00的发言:
Dim s As String = ",da,,ew,,,,few,d,,s,"
Dim i As Integer = s.Length - s.Replace(",","").Length
MessageBox.Show(i)

棋高一着,马胜一力。


--  作者:Bin
--  发布时间:2013/7/4 14:44:00
--  
以下是引用lsy在2013-7-4 14:43:00的发言:

棋高一着,马胜一力。




图片点击可在新窗口打开查看

--  作者:程兴刚
--  发布时间:2013/7/4 14:46:00
--  

Dim s As String = ",da,,ew,,,,few,d,,s,"
Dim Values() As String = s.Split(",")
MessageBox.Show(Values.Length-1)

 

类似这种问题没必要遍历,字符串越长效率越低!

[此贴子已经被作者于2013-7-4 14:46:19编辑过]

--  作者:lsy
--  发布时间:2013/7/4 14:57:00
--  
编程就是缝缝补补,升级没完没了、补丁打个没完
--  作者:cxabc123
--  发布时间:2013/7/5 10:11:00
--  

感谢大家帮我释疑解惑,我把我提出这个问题的用途告诉大家,看有没有更好的办法。在帮助中有:StringBuilder方法,可大规模地合并字符串。

Dim v As String
Dim s As new StringBuilder
Dim cr As Row = Tables("干部信息").Current
s.Append(cr("姓名") & ",")
s.Append(cr("性别") & ",")

s.Append(cr("民族") & ",")
v = s.Tostring
Output.Show(v)

问题是:当性别、民族两列没有填入内容时,姓名后出现两个“,,”,有时候会出现三个“,,,”,这样就达不到要求,应该如何处理