懂正则表达式的帮忙

devilli 2008-06-15 09:07:41
用正则表达式 把数字 12345678910,格式化成 12,345,678,910格式
谢谢
...全文
127 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
HimeTale 2008-06-15
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 wuyi8808 的回复:]
C# codeusing System;
using System.Text.RegularExpressions;

class Program
{
static void Main()
{
string s = "这串数字1234567891012345678910123456789101234567891012345678910将加上逗号";
string t = Regex.Replace(s, @"(?<=\d)(?=(?:\d\d\d)+(?!\d))", ",");
Console.WriteLine(t);
}
}
[/Quote]
如果从左向右的话需要回溯匹配,效率稍差....嘿嘿
wuyi8808 2008-06-15
  • 打赏
  • 举报
回复
using System;
using System.Text.RegularExpressions;

class Program
{
static void Main()
{
string s = "这串数字1234567891012345678910123456789101234567891012345678910将加上逗号";
string t = Regex.Replace(s, @"(?<=\d)(?=(?:\d\d\d)+(?!\d))", ",");
Console.WriteLine(t);
}
}
HimeTale 2008-06-15
  • 打赏
  • 举报
回复
唉,偶的水平还是不行啊...
这个正确
            string str = Regex.Replace(s, @"(?<=\d)\d{3}", delegate(Match m) { return "," + m.Value; }, RegexOptions.RightToLeft);
HimeTale 2008-06-15
  • 打赏
  • 举报
回复
如果一定要用正则,那就这样
string str = Regex.Replace("12345678910", @"\d{3}", delegate(Match m) { return ","+m.Value; }, RegexOptions.RightToLeft);
wuyi8808 2008-06-15
  • 打赏
  • 举报
回复
// 如果一定要用正则表达式,就这样:(优点是可以处理很长的数字串)

using System;
using System.Text.RegularExpressions;

class Program
{
static void Main()
{
string s = "1234567891012345678910123456789101234567891012345678910";
string t = Regex.Replace(s, @"(?<=\d)(?=(?:\d\d\d)+$)", ",");
Console.WriteLine(t);
}
}
fuadam 2008-06-15
  • 打赏
  • 举报
回复
楼上的这个简洁
wuyi8808 2008-06-15
  • 打赏
  • 举报
回复
// 如果不是非要用正则表达式,这样就可以了:
string s = 12345678910.ToString("N0");
fuadam 2008-06-15
  • 打赏
  • 举报
回复
double num = 12345678910;
Console.WriteLine(num.ToString("n").Replace(".00", ""));

这样
devilli 2008-06-15
  • 打赏
  • 举报
回复
楼上兄弟,是在C#中
而且,用那个方法啊,replace()?
popule_daisy 2008-06-15
  • 打赏
  • 举报
回复
^[0-9]{1,3}(,[0-9]{3})*(\.[0-9]{1,2})?$
  不要忘记 '+' 可以被 '*' 替代 如果你想允许空白字符串被输入话 (为什么?). 也不要忘记反斜杆 ’\’ 在php字符串中可能会出现错误 (很普遍的错误).


来自于:http://www.cnblogs.com/AnthOnySh/

祝楼主好运!
yang709610485 2008-06-15
  • 打赏
  • 举报
回复
新手有问。。。。
正则表达式是什么,做什么用的。。。
那个哥哥告诉一下
devilli 2008-06-15
  • 打赏
  • 举报
回复
晕,12345678910只是代表一组数字,不是固定的。。。
fuadam 2008-06-15
  • 打赏
  • 举报
回复
double num = 12345678910;
Console.WriteLine(num.ToString("##,###,###,###"));
devilli 2008-06-15
  • 打赏
  • 举报
回复
就是把 12345678910 变成 12,345,678,910

110,532

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧