C#、.NET 3.5
这对我来说很难闻,但我想不出其他方法。
给定一个格式为“Joe Smith (jsmith)”(无引号)的字符串,我只想解析出括号内的“jsmith”字符串。我想出了这个:
private static string DecipherUserName( string user )
{
if( !user.Contains( "(" ) )
return user;
int start = user.IndexOf( "(" );
return user.Substring( start ).Replace( "(", string.Empty ).Replace( ")", string.Empty );
}
除了我对 RegEx 的(不)健康厌恶之外,还有更简单的方法来解析子字符串吗?
编辑: 澄清一下,要解析的字符串始终是:“Joe Smith (jsmith)”(无引号)。
最佳答案
正则表达式非常有用,您可以咬紧牙关学习它们,从而省却大量的心痛。不是全部,只是基础知识。
一个有效的正则表达式是“\w+\((.*)\)”——jsmith 将在 Match.Groups[1] 中。
获取正则表达式的一种简单方法是找到一个网站,让您输入正则表达式和一些文本,然后吐出匹配项...
关于c# - 在 C# 中解析字符串;有没有更清洁的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/728018/