如何从分隔的字符串中获取文本

时间:2013-11-25 14:33:55

标签: regex

我正在尝试提取分隔字符串的一部分。字符串是这样的:

272;#这是我想要的文字

我想在“#”之后得到所有内容。有人有什么建议吗?

4 个答案:

答案 0 :(得分:2)

TL; DR

语言实施很重要。并非所有语言都支持每个正则表达式运算符或功能但是,有一些通用的方法,例如零宽度断言和捕获组。

积极的外观

使用零宽度断言查找字符串前面的字符。例如,使用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 ......

(?<=#).*

祝你好运!