我需要从字符串中找到最后一位数字而且我被卡住了。
您能告诉我如何从以下字符串替换最后0:
something[0].moresomething[0].evenmoresomething
答案 0 :(得分:4)
这会让你得到最后一位数字......也称为“negative lookahead”。
\d(?!.*\d)
如果您在.NET中执行此操作,则替换最后一个字符,例如:
string source = "something[0].moresomething[0].evenmoresomething";
string regEx = @"\d(?!.*\d)";
string result = Regex.Replace(source, regEx, "2");
'result'现在包含字符串“something [0] .moresomething [2] .evenmoresomething”
答案 1 :(得分:3)
试试这个正则表达式:
(?<=\[)0(?=\])(?!.*?\[0\])
它将匹配0
[]
答案 2 :(得分:0)
你可以这样做
\d(\D*)$
并替换为您想要的任何内容和$1
如果您的号码确实是字符串/行中的最后一个,那么这将有效。 (请参阅评论中的Kirills示例。)
$1
在这里是第一个捕获组的内容。这意味着()
的内容,即您想要替换的数字之后的所有内容。
\d
是一个数字
\D
不是数字
$
是字符串