c# - 在 C# 中解析字符串;有没有更清洁的方法?

标签 c# .net parsing

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/

相关文章:

C# 区域设置混淆

.net - 将 JSON 解析为 .NET 4.0 中的非对象?

minOccurs ="0"元素上的 C# XSD 验证失败

.net - 用于批处理的 Azure Windows 服务

c++ - 解析 C++ 文件以进行编辑

parsing - DateTimeFormat.parse() 失败

c# - 在Unity3d中使用Android陀螺仪,如何将初始相机旋转设置为初始移动设备旋转?

c# - 无法启动 IIS Express

ios - 快速将JSON值解析为全局数组

c# - 使用异步等待时出现意外结果