string_parser#

提取并转换常见字符串为Python对象。

从简单的数据类型如布尔值、整数和浮点数,到更复杂的数据类型如JSON、YAML和列表字符串。

BooleanParser(*args, **kwargs)

从文本中提取布尔值。

FloatParser()

从文本中提取浮点数值。

IntParser()

从文本中提取整数值。

JsonParser([add_missing_right_brace])

从文本中提取JSON字符串 {...}[...] 并将其解析为JSON对象。

ListParser([add_missing_right_bracket])

从文本中提取列表 [...] 字符串并将其解析为列表对象。

Parser()

所有字符串解析器的基类。

YamlParser()

从文本中提取YAML字符串并将其解析为YAML对象。

class Parser[source]#

基础:Component

所有字符串解析器的基类。

call(input: str) object[source]#
class BooleanParser(*args, **kwargs)[source]#

基础类:Parser

从文本中提取布尔值。

示例:

boolean_parser = BooleanParser()
test_input_1 = "True" # or "true" or "...true..."
print(boolean_parser(test_input_1))  # Expected to extract True
call(input: str) bool[source]#
class IntParser[source]#

基础类:Parser

从文本中提取整数值。

Returns:

提取的整数值。

Return type:

整数

Raises:

ValueError – 如果输入文本不包含整数

示例:

int_parser = IntParser()
test_input_2 = "123" # or "...123..."
print(int_parser(test_input_2))  # Expected to extract 123
call(input: str) int[source]#
class FloatParser[source]#

基础:Parser

从文本中提取浮点数值。

Returns:

提取的浮点数值。

Return type:

浮点数

Raises:

ValueError – 如果输入文本不包含浮点数

示例:

float_parser = FloatParser()
test_input_3 = "123.45" # or "...123.45..."
print(float_parser(test_input_3))  # Expected to extract 123.45
call(input: str) float[source]#
class ListParser(add_missing_right_bracket: bool = True)[source]#

基础类:Parser

从文本中提取列表 […] 字符串并将其解析为列表对象。

Parameters:

add_missing_right_bracket (bool, 可选) – 在列表字符串中添加缺失的右括号。默认为 True。

Returns:

提取的列表对象。

Return type:

列表[对象]

Raises:

ValueError – 如果输入文本不包含列表

示例:

list_parser = ListParser()
test_input_4 = 'Some random text before ["item1", "item2"] and more after'
print(list_parser(test_input_4))  # Expected to extract ["item1", "item2"]
call(input: str) List[object][source]#
class JsonParser(add_missing_right_brace: bool = True)[source]#

基础类:Parser

从文本中提取JSON字符串 {…}[…] 并将其解析为JSON对象。

它可以输出字典或列表,因为它们都是有效的JSON对象。

Parameters:

add_missing_right_brace (bool, optional) – 向JSON字符串中添加缺失的右括号。默认为True。

Returns:

提取的JSON对象。

Return type:

联合[字典[str, 对象], 列表[对象]]

Raises:

ValueError – 如果输入文本不包含JSON对象

示例:

json_parser = JsonParser()
json_str = "```json\n{\"key\": \"value\"}\n```"
json_obj = json_parser(json_str)
print(json_obj)  # Expected to extract {"key": "value"}
call(input: str) Dict[str, object] | List[object][source]#
class YamlParser[source]#

基础类:Parser

从文本中提取YAML字符串并将其解析为YAML对象。

Returns:

提取的YAML对象。

Return type:

JSON_PARSER_OUTPUT_TYPE

Raises:

ValueError – 如果输入文本不包含YAML对象

示例:

yaml_parser = YamlParser()
yaml_str = "```yaml\nkey: value\n```"
yaml_obj = yaml_parser(yaml_str)
print(yaml_obj)  # Expected to extract {"key": "value"}
call(input: str) Dict[str, object] | List[object][source]#