我有一个字符串形式为“123456789”。 在屏幕上显示它时,我想将其显示为123-456-789。 请让我知道如何添加“ - ”每3个数字。 在此先感谢。在C#中的字符串中添加' - '
2
A
回答
5
我会继续前进,给Regex
基础的解决方案:
string rawNumber = "123456789";
var formattedNumber = Regex.Replace(rawNumber, @"(\d{3}(?!$))", "$1-");
该正则表达式分解如下:
( // Group the whole pattern so we can get its value in the call to Regex.Replace()
\d // This is a digit
{3} // match the previous pattern 3 times
(?!$) // This weird looking thing means "match anywhere EXCEPT the end of the string"
)
的"$1-"
替换字符串意味着每当对上述图案的匹配,则用相同的($ 1部分),接着是-
替换它。因此,在"123456789"
中,它将匹配123
和456
,但不匹配789
,因为它位于字符串的末尾。然后用123-
和456-
替换它们,给出最终结果123-456-789
。
+0
非常感谢:) – Shweta
6
您可以使用string.Substring
:
s = s.Substring(0, 3) + "-" + s.Substring(3, 3) + "-" + s.Substring(6, 3);
或正则表达式(ideone):
s = Regex.Replace(s, @"\d{3}(?=\d)", "$0-");
0
您可以使用循环也如果字符串长度不固定到9倍的数字如下
string textnumber = "123456789"; // textnumber = "123456789" also it will work
string finaltext = textnumber[0]+ "";
for (int i = 1; i < textnumber.Length; i++)
{
if ((i + 1) % 3 == 0)
{
finaltext = finaltext + textnumber[i] + "-";
}
else
{
finaltext = finaltext + textnumber[i];
}
}
finaltext = finaltext.Remove(finaltext.Length - 1);
相关问题
- 1. 无法在C++中添加字符串
- 2. 在C++中添加两个字符串
- 3. 添加字符串在C#
- 4. 在C字符添加到字符串
- 5. 在C++中的字符串之间添加一个字符
- 6. 在C中添加一个字符串的字符
- 7. 在字符串中间添加字符
- 8. 在字符串(或Chararray)中添加一个字符c#
- 9. 在字符串中添加换行符
- 10. 在C#中的字符串之前添加@符号
- 11. C#加减字符串中的字符
- 12. 添加的字符串C#的数字
- 13. jQuery在字符串中添加数字
- 14. 在C++中添加一个字符串的所有数字
- 15. 将一个换行符添加到C中的字符串中#
- 16. 将字符串添加到C中的字符指针
- 17. 如何添加字符到C#中的字符串
- 18. 在Linq中添加arraylist的字符串
- 19. 在PHP中的字符串内添加字符串
- 20. 添加在字符串中的整数在objective-c
- 21. 添加字符串值映射在C++
- 22. 如何在C#中添加一个新行字符串中间
- 23. 在C中添加十进制数字作为字符串
- 24. C#字符串格式,添加字符字符串
- 25. 在Java中添加字符串困惑
- 26. 在var字符串中添加html?
- 27. 如何在Ruby中添加字符串
- 28. 在Java字符串中添加新行
- 29. 在字符串中添加斜杠
- 30. 在字符串中添加空格
这是百达9个数字,也可以是无限的? – Gleeb