以文本方式查看主题

-  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=83189)

--  作者:凡夫俗子
--  发布时间:2016/4/2 17:09:00
--  求助字符串 处理
wu dong xiang

wu dong

要求 将每空格的第一个字符大写 ,只保留一第一个空格,有的空格有两个,有的有三个

处理完成结果为
Wu DongXiang
Wu Dong


--  作者:lsy
--  发布时间:2016/4/2 17:28:00
--  
Dim ary() As String = "wu    dong         xiang".Split(" ")
Dim str As String
Dim s As String
For i As Integer = 0 To ary.Length - 1
    If ary(i) > "" Then
        s = Left(ary(i),1).ToUpper & ary(i).SubString(1)
        If i = 0 Then
            str = s & " "
        Else
            str + = s
        End If
    End If
Next
Output.Show(str)

--  作者:大红袍
--  发布时间:2016/4/3 11:39:00
--  

用正则比较简单一点。

 


Dim str As String = "wu dong xiang"
str = System.Text.RegularExpressions.Regex.Replace(str, "^([a-zA-Z]+) +([a-zA-Z]+) +([a-zA-Z]+)$", "$1 $2$3")
msgbox(str)


--  作者:新福星
--  发布时间:2016/4/3 13:10:00
--  
如何用正则表达式判断是否符合年月的要求?字串长6位,前 4位年后2位月,...等等规则?
--  作者:大红袍
--  发布时间:2016/4/3 13:20:00
--  

比如

 

Dim str As String = "201213"
Dim reg As new System.Text.RegularExpressions.Regex("^\\d{4}-?(?:0[1-9]|1[0-2])$")
If reg.Ismatch(str) = False Then
    msgbox("日期有误")
End If