【问题标题】:C# IndexOf (Read from resource.resx)C# IndexOf(从 resource.resx 读取)
【发布时间】:2013-12-18 00:33:28
【问题描述】:

我创建了包含一些文本的配置文件,并将此文件添加到 resource.resx。现在我为这个文本创建了字符串。

// String will be contains all texts from resource file
string TextFromResources = Resource.konfigurace;

TextFromResources -> 查看:

#################
# Settings
#################

RealmID = 1

#################

下一步我需要使用函数“IndexOf”。

int value = TextFromConfig.IndexOf("RealmID");
value = TextFromConfig.IndexOf('=');
value2 = TextFromConfig.IndexOf("/r/n");
RealmID = int.Parse(TextFromConfig.Substring(value, value2));

我需要该 realmID 返回 int 值“1”,但现在它什么也没返回。请问,你能帮我解决我的问题吗?

如果索引正确,那么它将返回值“1”,仅此而已。

【问题讨论】:

    标签: c# text resources split indexof


    【解决方案1】:

    啊,子字符串需要在value之后开始。这是适用于我的示例的简化版本:

    var text = "RealmID = 1\r\n";
    var value = text.IndexOf('=');
    var value2 = text.IndexOf("\r\n", value);
    var id = int.Parse(text.Substring(value + 1, value2 - value));
    

    另外,我修改了获取value2IndexOf 调用,以便它在'=' 的位置之后搜索"\r\n"

    另一种选择是使用正则表达式来查找 RealmID 值。

    var regex = new Regex(@"RealmID = (\d+)");
    var match = regex.Match(text);
    int realmID = int.Parse(match.Groups[1].Value);
    

    【讨论】:

    • 我重写了视图。这对于视图文件来说是正确的可视化。但是我的索引脚本仍然不起作用。
    • Reges 现在对我不利,因为我在文件中只向您展示了我需要赚取的一个值,但在文件中却是大量值 var value = TextFromConfig.IndexOf("RealmID"); value = TextFromConfig.IndexOf('='); var value2 = TextFromConfig.IndexOf("\r\n", value); RealmID = int.Parse(TextFromConfig.Substring(value + 1, value2 - value)); 它返回给我:RealmID 0 int value 1730 int value2 1733 int
    • 我的问题已解决。谢谢帮助。
    猜你喜欢
    • 1970-01-01
    • 2011-08-18
    • 1970-01-01
    • 1970-01-01
    • 2014-09-14
    • 1970-01-01
    • 2012-01-18
    • 1970-01-01
    • 2016-08-26
    相关资源
    最近更新 更多