我正在尝试提取分隔字符串的一部分。字符串是这样的:
272;#这是我想要的文字
我想在“#”之后得到所有内容。有人有什么建议吗?
答案 0 :(得分:2)
语言实施很重要。并非所有语言都支持每个正则表达式运算符或功能但是,有一些通用的方法,例如零宽度断言和捕获组。
使用零宽度断言查找字符串前面的字符。例如,使用Ruby 2.0捕获感兴趣的文本:
'272;#This is the text i want'.match /(?<=#).*/
pp $&
#=> "This is the text i want"
使用捕获和非捕获组匹配文本,然后提取您感兴趣的组。例如,使用Ruby 2.0在第一个捕获组中捕获您想要的匹配:
'272;#This is the text i want'.match /(?:#)(.*)/
pp $1
#=> "This is the text i want"
答案 1 :(得分:1)
您可以使用正则表达式#(.*)
并提取第一个捕获组 - 顺便说一句,您尝试使用哪种语言?
编辑:如果你无法访问捕获组,你可以试试看它是否受引擎支持:
(?<=#).*
答案 2 :(得分:0)
尝试:
string text = "272;#";
int index = text.IndexOf("#");
string sub = text.Substring(index + 1);
答案 3 :(得分:0)
考虑以下Regex ......
(?<=#).*
祝你好运!