请问这个字符串处理咋处理

asdxad3 2011-10-06 03:47:59
string str = "dfgs4aer#@";

要求,如果字符串中有int型的数字,即将它+1,其它字符不变,就算是遇到两位数的,也是+1

谢谢
...全文
68 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
qgqch2008 2011-10-06
  • 打赏
  • 举报
回复
参考一下吧,呵呵
            string str = "dfgs4a453er#@";
Regex reg = new Regex(@"\d{1,}");
foreach (Match m in reg.Matches(str))
{
str = str.Remove(m.Index, m.Groups[0].Value.Length).Insert(m.Index, (Int32.Parse(m.Groups[0].Value) + 1).ToString());
}
qgqch2008 2011-10-06
  • 打赏
  • 举报
回复
Regex reg = new Regex(@"\d{1,}");//int型的話,這樣匹配就差不多了吧
萧炎 2011-10-06
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 zyloveyrf 的回复:]
C# code


string str = "dfgs4aer#@";
Regex regex = new Regex(str);
MatchCollection matches = regex.Matches(str);
int num = 0;
for (int i = 0; i <……
[/Quote]
这个有错LZ

string reg = @"[+-]?((\d+(\.\d*)?)|\.\d+)([eE][+-]?[0-9]+)?";
string str = "dfgs4aer#@";
Regex regex = new Regex(reg);
MatchCollection matches = regex.Matches(str);
int num = 0;
for (int i = 0; i < matches.Count; i++)
{
num = int.Parse(matches[i].ToString()) + 1;

str = str.Replace(matches[i].Value, num.ToString());
}
MessageBox.Show(str);//这个才是对的
萧炎 2011-10-06
  • 打赏
  • 举报
回复

string str = "dfgs4aer#@";
Regex regex = new Regex(str);
MatchCollection matches = regex.Matches(str);
int num = 0;
for (int i = 0; i < matches.Count; i++)
{
Regex r = new Regex("[0-9]");
if (r.IsMatch(str))
{
num = int.Parse(matches[i].ToString()) + 1;
}
}
MessageBox.Show(num+"");
萧炎 2011-10-06
  • 打赏
  • 举报
回复
string str = "dfgs4aer#@";
Regex r = new Regex("[0-9]");
//匹配数字字符
//r.IsMatch(str)结果:true
CalvinWang 2011-10-06
  • 打赏
  • 举报
回复
string reg = @"[+-]?((\d+(\.\d*)?)|\.\d+)([eE][+-]?[0-9]+)?";

string str = "dfgs4ae12r#@333";
System.Text.RegularExpressions.Regex regex = new System.Text.RegularExpressions.Regex(reg);
MatchCollection matches = regex.Matches(str);

可以找到 4, 12, 333
haihuan23 2011-10-06
  • 打赏
  • 举报
回复
正则不会。等正则高手。。
asdxad3 2011-10-06
  • 打赏
  • 举报
回复
[Quote=引用楼主 asdxad3 的回复:]
string str = "dfgs4aer#@";

要求,如果字符串中有int型的数字,即将它+1,其它字符不变,就算是遇到两位数的,也是+1

谢谢
[/Quote]
比如:
遇到6,就把6变成7
遇到23,就把23变成24
......
.......

110,538

社区成员

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

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

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