Regex 字符串屏蔽-插入破折号
我正在编写一个函数来格式化字符串。我收到一串数字,有时带破折号,有时不带破折号。我需要生成一个14个字符的输出字符串,因此如果输入字符串包含少于14个字符,我需要用零填充它。然后我需要通过在适当的位置插入破折号来屏蔽数字字符串。以下是我到目前为止得到的信息:Regex 字符串屏蔽-插入破折号,regex,vb.net,string,formatting,masking,Regex,Vb.net,String,Formatting,Masking,我正在编写一个函数来格式化字符串。我收到一串数字,有时带破折号,有时不带破折号。我需要生成一个14个字符的输出字符串,因此如果输入字符串包含少于14个字符,我需要用零填充它。然后我需要通过在适当的位置插入破折号来屏蔽数字字符串。以下是我到目前为止得到的信息: strTemp = strTemp.Replace("-", "") If IsNumeric(strTemp) Then If strTemp.Length < 14 Then strTemp = st
strTemp = strTemp.Replace("-", "")
If IsNumeric(strTemp) Then
If strTemp.Length < 14 Then
strTemp = strTemp.PadRight(14 - strTemp.Length)
End If
output = String.Format(strTemp, "{00-000-0-0000-00-00}")
End If
strTemp=strTemp.Replace(“-”,“”)
如果是数字(strTemp),则
如果标准长度小于14,则
strTemp=strTemp.PadRight(14-strTemp.Length)
如果结束
output=String.Format(strTemp,“{00-000-0-0000-00-00}”)
如果结束
上面的操作很好,只是它只返回一个数字字符串而不输入破折号。我知道我在使用String.Format时出错了,但到目前为止,我只使用了预定义的格式。有人能帮忙吗?在这种情况下,如何使用正则表达式进行字符串格式设置?此函数应实现以下功能:
Public Function MaskFormat(input As String) As String
input = input.Replace("-", String.Empty)
If IsNumeric(input) Then
If input.Length < 14 Then
input = input.PadRight(14 - input.Length)
End If
Return String.Format("{0:00-000-0-0000-00-00}", CLng(input))
Else
Return String.Empty
End If
End Function
公共函数MaskFormat(作为字符串输入)作为字符串
input=input.Replace(“-”,String.Empty)
如果是数字(输入),则
如果输入长度小于14,则
input=input.PadRight(14-input.Length)
如果结束
返回字符串。格式(“{0:00-000-0-0000-00-00}”,CLng(输入))
其他的
返回字符串。空
如果结束
端函数
您可以找到有关字符串格式的详细信息