解析器字符串C#函数

ALD-52

我需要将此函数转换为C#的替代方式,我试图找到一些类似的函数但未成功。

Pascal / Delphi中的功能

function Parser(Buffer,Start,Finish:string):string;
var
  PosStart, PosFinish:  Integer;
begin
  PosStart := Pos(Start, Buffer)+ Length(Start);
  PosFinish := Posex(Finish, Buffer,PosStart);
  Result := Copy(Buffer, PosStart, PosFinish - PosStart);
end;

使用示例:

kappa := 'test 0646944 but';
Parser(kappa,'test','but');

此函数返回两个阵营之间的结果

Result: 0646944

有其他替代方法吗?

谜团

这些方法有效:

var buffer = "test 0646944 but";
var start = "test";
var finish = "but";

var parsed =
    buffer
        .Substring(
            buffer.IndexOf(start) + start.Length,
            buffer.LastIndexOf(finish) - buffer.IndexOf(start) - start.Length);

// OR

var parsed =
    Regex
        .Match(buffer, Regex.Escape(start) + "(.*?)" + Regex.Escape(finish))
        .Groups[1]
        .Value;

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章