字符串屏蔽-插入短划线



我正在编写一个函数来格式化字符串。我收到一串数字,有时有破折号,有时没有。我需要生成一个14个字符的输出字符串,所以如果输入字符串包含的字符少于14,我需要用零填充它。然后我需要通过在适当的位置插入破折号来屏蔽字符串。到目前为止,我得到的是:

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

上面的操作很好,只是它只返回一个数字字符串而不加短划线。我知道我在String.Format上做了一些错误,但到目前为止,我只使用了预定义的格式。有人能帮忙吗?在这种情况下,如何使用Regex进行字符串格式化?

这个函数应该能完成任务:

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

你可以在这里找到更多关于字符串格式的信息。

相关内容

  • 没有找到相关文章

最新更新