Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# &引用;名称(1)“;自定义文件中的挑战_C#_String - Fatal编程技术网

C# &引用;名称(1)“;自定义文件中的挑战

C# &引用;名称(1)“;自定义文件中的挑战,c#,string,C#,String,所以,在我描述我的问题之前,你需要一些背景知识: 我有一些自定义文件,用文本描述一些对象。此文件的一行如下所示: ... ~ InWalls: [0](Name = "Wall", Pos = 1|2, Rot = 7) ~ ... 我的程序像这样读取这个文件 连接文件中的所有行 删除所有空格 以“~”分隔行 (每行) 4.1按“:”分割 4.2首先打开开关(在本例中为“内墙”) 4.3在第二个“(“,”)和子字符串之间查找(我们得到“Name=“Wall”,Pos=1 | 2,Rot=7”)

所以,在我描述我的问题之前,你需要一些背景知识: 我有一些自定义文件,用文本描述一些对象。此文件的一行如下所示:

...
~
InWalls:
[0](Name = "Wall", Pos = 1|2, Rot = 7)
~
...
我的程序像这样读取这个文件

  • 连接文件中的所有行

  • 删除所有空格

  • 以“~”分隔行

  • (每行)

    4.1按“:”分割

    4.2首先打开开关(在本例中为“内墙”)

    4.3在第二个“(“,”)和子字符串之间查找(我们得到“Name=“Wall”,Pos=1 | 2,Rot=7”)

    4.4以“,”分割

    4.5按“=”进行拆分

    4。。。做员工等等

  • 这个概念很简单,不是吗?基本上,正如您所理解的,我经常使用
    String.Split()
    String.SubString()
    ,而且一切正常。。但是如果我的绳子看起来像这样怎么办

    ...
    ~
    InWalls:
    [0](Name = "Wall (1)", Pos = 1|2, Rot = 7)
    ~
    ...
    

    在第4.3步中,我将得到的不是“Name=”Wall(1)”,Pos=1 | 2,Rot=7”,而是“Name=”Wall(1),我不知道如何解决这个问题。我需要属性名“,我不能就这样把这部分删掉……有人对此有什么想法吗?

    我们需要实际的代码、输入/输出示例。请在问题中包含一个字符串,在编写字符串之前将其转义,在阅读后取消转义。例如%28=(,%29=)和%%For%.具有匹配的“开始”和“结束”分隔符的内容”需要一个堆栈来正确地“解析”…你对这种语法有多了解?为什么不使用类似的标准语法,比如已经编写了解析器的JSON?