Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.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
如何在PetitParserDart中向左或向右修剪_Dart_Trim_Petitparser - Fatal编程技术网

如何在PetitParserDart中向左或向右修剪

如何在PetitParserDart中向左或向右修剪,dart,trim,petitparser,Dart,Trim,Petitparser,有一个trim()方法,它将创建一个解析器来修剪两侧的字符串 如何创建一个只修剪左侧或右侧的解析器?以下帮助程序创建以所有可能方式修剪的解析器: Parser trim(Parser parser, [Parser trimmer]) { if (trimmer == null) trimmer = whitespace(); return trimmer.star().seq(parser).seq(trimmer.star()).pick(1); } Parser trimRigh

有一个
trim()
方法,它将创建一个解析器来修剪两侧的字符串


如何创建一个只修剪左侧或右侧的解析器?

以下帮助程序创建以所有可能方式修剪的解析器:

Parser trim(Parser parser, [Parser trimmer]) {
  if (trimmer == null) trimmer = whitespace();
  return trimmer.star().seq(parser).seq(trimmer.star()).pick(1);
}

Parser trimRight(Parser parser, [Parser trimmer]) {
  if (trimmer == null) trimmer = whitespace();
  return parser.seq(trimmer.star()).pick(0);
}

Parser trimLeft(Parser parser, [Parser trimmer]) {
  if (trimmer == null) trimmer = whitespace();
  return trimmer.star().seq(parser).pick(1);
}

上述函数
trim
生成与内置函数
解析器等效的解析器。trim

以下帮助程序创建以所有可能方式修剪的解析器:

Parser trim(Parser parser, [Parser trimmer]) {
  if (trimmer == null) trimmer = whitespace();
  return trimmer.star().seq(parser).seq(trimmer.star()).pick(1);
}

Parser trimRight(Parser parser, [Parser trimmer]) {
  if (trimmer == null) trimmer = whitespace();
  return parser.seq(trimmer.star()).pick(0);
}

Parser trimLeft(Parser parser, [Parser trimmer]) {
  if (trimmer == null) trimmer = whitespace();
  return trimmer.star().seq(parser).pick(1);
}
上述函数
trim
生成与内置函数
parser.trim
等效的解析器