我需要将此函数转换为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] 删除。
我来说两句