(11)格式化输出

11. 深入Spring AI:格式化输出 Spring AI 2024年5月推出的StructuredOutputConverter体系解决了LLM生成内容与下游业务代码的强类型转换问题。该体系通过结合Converter和FormatProvider接口,在请求前注入格式指令,并将返回文本反序列化为Java对象。内置转换器包括将内容转换为Java Bean的BeanOutputConverter、转换为Map的MapOutputConverter和转换为List的ListOutputConverter,支持JSON和CSV等格式。使用示例展示了如何 阅读详情

这个类比较重要,用于格式化翻译,因为单词对应的翻译比较大,有一些例句有几十条,如果不格式化,返回的讲是一大坨,一大坨的,用户体验不好

经过这个类的格式化之后,返回的就是一条一条的例句,而不是一大堆



<?php
//格式化翻译
class FormatTrans
{
	private $result=array();
	public function trans($str)
	{	
		$trans = $this->getTrans($str);
		$item = $this->format($trans);
		$this->result = $this->result($this->normal($item));
		return $this->result;
	}
	public function getTrans($str)
	{
		$pat='#\.\s(\d{1,2})\s#';
		if(preg_match($pat, $str))
		{
			$res=preg_split($pat, $str,-1 , PREG_SPLIT_NO_EMPTY);
			return $res;
		}
		else
		{
			$res[] = $str;
			return $res;
		}
	}
	
	public function format($str)
	{
			$result;
			foreach($str as $string)
			{
				if(preg_match('#[\x{4e00}-\x{9fa5}]\.\s#iu', $string))
				{
					$items = preg_split('#(?<=[\x{4e00}-\x{9fa5}])\.\s#iu', $string,-1, PREG_SPLIT_NO_EMPTY);
					foreach($items as $item)
					{
						$item = trim($item);
						if(($pos=strpos($item, "*")) !==false)
						{
							$item = substr($item, $pos+1);
							$result[]=$item;
						}
						else if(preg_match('#^\d#', $item, $num))
						{
							$pos = strpos($item, $num[0])+1;
							$item =substr($item, $pos);
							$result[]=$item;
						}
						else
						{
							$result[]=$item;
						}
						
					}
				}
				else
				{
					$result=$str;
					return $result;
				}
			}
			
			return $result;
	}
	public function normal($items)
	{
		$result = array();
		foreach($items as $translation)
		{
				if(preg_match('#\*#', $translation) )
				{
					$items = preg_split('#\s\*\s#iu', $translation,-1, PREG_SPLIT_NO_EMPTY);
					foreach($items as $item)
					{
						$result[] = $item;
					}
				}
				else
				{
					$result[] = $translation;
				}
		}
		return $result;
	}
	public function result($str)
	{
		$result;
		foreach($str as $string)
		{
			if(preg_match('#[\x{4e00}-\x{9fa5}]:#iu', $string))
			{
				$items = preg_split('#(?<=[\x{4e00}-\x{9fa5}]):#iu', $string, -1, PREG_SPLIT_NO_EMPTY);
				foreach($items as $item)
				{
					$result[]=$item;
				}
			}
			else
			{
				$result[] = $string;
			}
		}
		return $result;
	}
}

?>


海康visionmaster开发笔记11-逐行保存格式化模块输出的方法 阅读详情

相关推荐

Fluent UDF实战:除了速度入口,你的DEFINE_PROFILE宏还能搞定这些边界条件(温度、组分、壁面接触角全解析)

本文深入解析Fluent UDF中DEFINE_PROFILE宏在复杂边界条件中的高阶应用,涵盖温度场、组分浓度和壁面接触角等关键场景。通过实战代码示例,展示如何实现空间梯度温度场、动态组分控制和接触角动态调整,助力CFD工程师突破标准界面限制,提升仿真精度和效率。

weixin_28688385的博客 450

PDCCH format 与传输模式之间的关系

一:PDCCH format 与传输模式之间的关系            共有11种DCI format:  0、1、1A、1B、1C、1D、2、2A、2B、3、3A。        (1) format 0                    用于 uplink

*^^^^^^^* 8838

【多媒体交互】Unity+普通摄像头实现UI事件分析

利用摄像头捕捉用户的手势或动作,结合坐标映射与事件系统触发UI交互

qq_38350004的博客 1318

.format() 二,八,十六进制的的用法 makestrans()

二,八,十六进制的表示方法: eg). print(‘二进制{:b}’.format(3)) #二进制是11 S:二进制:print(’{:b}’.format(i)) # i:为任意数字 八进制:print(’{

weixin_44252536的博客 1797

BRAM在图像处理缓存中的实现:完整示例解析

深入讲解如何利用BRAM高效实现图像处理中的数据缓存,结合实际案例解析BRAM的应用优势与设计细节,提升系统性能。

weixin_29443363的博客 333

ubuntu 18.04 + Kimera slam 安装与demo测试

环境:opencv 3.4.12,其他的都是按照文档下载的。 首先进行组件的安装 一、Kimera-VIO 安装参考文档:https://github.com/MIT-SPARK/Kimera-VIO/blob/master/docs/kimera_vio_install.md 按照文档装就好,在安装过程中碰到如下问题: 0、make 过程很卡,不要用所有的核 1、cmake过程中卡下载 ORBvoc.zip ,手动下载这个文件,解压,将里面的3个文件,放到/Kimera-VIO/vocabu.

dna葡萄糖的博客 3629

C++ 11格式化输出当前时间

在项目中经常需要用到当前时间,以指定的格式输出,这里利用C++11 封装一个时间格式化函数。 #define _CRT_SECURE_NO_WARNINGS #include<iostream> #include<chrono> #include<codecvt> #include<string> #include<iomanip> #include<algorithm> #include<sstream> using na

温暖不了你的心的博客 5697

RRAM/ Near Memory Computing (NMC) Survey - Reading Notes 0707

Reading Notes of Resistive Random Access Memory – Day 2 Chapter 3 RRAM Characterization and Modeling Overview of RRAM Physical Mechanism A general picture for the filamentary switching mechanism. Forming: 对本征RRAM样本,加电压VformingV_{forming}Vforming​,中间氧化层的O

Blog of Lucky H6 992

11、格式化输出

一.格式化输出 现在需要我们录入我们身边好友的信息,格式如下: ------------ info of Alex Li ---------- Name : Alex Li Age : 22 job : Teacher Hobbie: girl ------------- end ---------------- 我们现在能想到的办法就是用一下方法: name = input

Mrrunsen的博客 110

Fluent动网格+滑移网格+重叠网格对比介绍(以震荡水翼flapping foil为例)

初学fluent笔记,本文主要包含: Flapping foil在fluent内的几种实现方式 在哪设置动网格、滑移、重叠网格 flapping的UDF 示例 写在前面:Fluent在预览网格运动/提交计算之前,注意保存一个cas版本。 -------------------------Flapping foil 网格几种组合实现方式:---------------------- 直接重叠网格,overset, 需要建立两个几何part,part要重合。水翼局部区域(component),背景网格(ba

深海民工CFDer 2万+

11.8 LangGraph生产级AI Agent开发:从节点定义到高并发架构的终极指南

本文介绍了如何使用 LangGraph 构建生产级 AI Agent,重点解析了 LangGraph 的核心设计、节点与边的实现方法论、生产级实现技巧以及性能优化策略。LangGraph 通过图结构抽象复杂 AI 工作流,核心组件包括节点、边、状态和检查点。节点通过 Python 函数封装原子业务逻辑,边通过条件分支实现动态工作流。生产级实现技巧包括状态管理、多会话控制和错误处理机制。性能优化策略涉及并行执行和缓存机制设计。文章还提供了旅行规划 Agent 的实战案例和常见问题解决方案,帮助开发者构建高效、

yonggeit的博客 3268

11-python之格式化符号,print格式化输出使用详细介绍

文章目录1. 有哪些格式化符号2. 格式化输出的具体使用方法2.1 使用 格式化输出符号,加上 % 变量名字2.2 输出float如何控制小数点的个数 1. 有哪些格式化符号 重点1:%d,有符号代表包括了正整数和负整数 重点2:%u, 无符号代表了 正整数,没有负整数 2. 格式化输出的具体使用方法 2.1 使用 格式化输出符号,加上 % 变量名字 name = 'python' print("我的名字是%s" % name) 输出结果如下: 我的名字是python 2.2 输出float如何控

梦悦foundation 2052

Google Earth Engine:计算逐年全球潜在蒸发量(PET)的 ERA 数据

通过获取温度、湿度和降水数据,并使用Penman-Monteith公式,我们可以得到每年的潜在蒸发量。在本文中,我们将使用Google Earth Engine平台和ERA(欧洲再分析气象数据集)数据来计算逐年全球的潜在蒸发量(PET)。接下来,我们需要对ERA数据进行预处理,以获取我们需要的潜在蒸发量数据。有了温度、湿度和降水数据,我们可以使用Penman-Monteith公式来计算每年的潜在蒸发量。最后,我们可以将计算得到的潜在蒸发量数据进行可视化,以便更好地理解全球的水汽蒸发情况。

VwajAlgorithm的博客 730

C++11格式化输出生成乘法口诀表

C++格式化输出生成乘法口诀表 C++格式化输出的主要内容有:字段宽度、字符填充、字符对齐。 字段宽度:由setw函数实现,可以在字符前、中、后设置。 字符填充:由setfill函数实现,setfill函数是跟在setw后面填充相应的空位(默认是空格)。 字符对齐:由std::ios_base::left, std::ios_base::adjustfield,std::ios_base::right等指定。 下面将通过以上三种操作生成一个乘法口诀表: #include <iostream>

视觉与物联智能 823

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

11-10 格式化文本的输入输出

1. scanf() 和printf() scanf() 和 printf() 函数日常使用较多,此处不多介绍了。详细内容可参考:https://zh.cppreference.com/w/c/io/fscanf。 2.sscanf() 和sprintf() sscanf() 可类比于 scanf() 函数。scanf() 从控制台读取格式化输入,传入到特定变量中。例如 scanf("%d", &a) 把控制台输入的内容传入到 a 中。而 sscanf...

gltzlike的博客 316

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Java printf的11种输出方式(格式化输出)

9表示至少输出9个字符,如果不足则自动以空格补足: 12345678 9表示至少输出9个字符,如果不足则自动以空格补足:    12345 8表示精确到小数点后8位:12345.12345679 8表示精确到小数点后8位,如果不足则自动以0补足:12345.12345000 相关导读: 用python和Java打印乘法口诀(完美排序和排序方法解析) https://blog.csd...

number1killer的博客 2898

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

从头认识java-11.3 格式化输出(2)

接着上一章节的内容,这一章节主要讲述格式化说明符以及Formatter的类型转换。1.格式化说明符%[argument_index$][flags][width][.precision]conversion 可选的 argument_index 是一个十进制整数,用于表明参数在参数列表中的位置。第一个参数由 "1$" 引用,第二个参数由 "2$" 引用,依此类推。 可选的 flags 是修改输出格

raylee2007的专栏 2027

11.Python数据引用&输入&格式化输出

文章目录1.输入1.2知识点11.3知识点21.4知识点32.不同版本的输入的差异2.1Python3输入2.2Python2输入1.input5.raw_input3.格式化输出3.1输出3.2定义3.3占位符号与字符输出类型3.4所有类型3.5字符宽度 1.输入 关键字:input() 知识点: 1.程序在执行到input时会终端要输用户输入信息,输入信息后,按下回车提交信息,程序继续往下运行。 2.可以在input中写入一段字符串用于提示,在默认情况下就一个光标在闪烁,提示性不不强。 3.inp

清风 1893

《手把手陪您学Python》11——字符串的格式化输出

​在上一篇《手把手陪您学Python》10——字符串的函数中,我们学习了字符串的函数处理方法。再加上之前学习的切片、索引和运算,可以说已经将字符串的各种常用操作都接触了一遍。在这一篇中,我们将一起学习字符串的格式化输出方式。 为什么叫做格式化输入呢?这是和我们普通的输出相对应的。 之前我们学习的输出方法,就是使用print()函数,将字符串打印出来。字符串是什么样子的,打印出来的结果就是什么样...

mnpy2019的博客 1913

从头认识java-11.3 格式化输出(1)

这一章节我们来讨论一下格式化输出,这个话题我们将通过几个章节来展开描述。在c语言体系里面,用的最多的估计就是printf这个函数:printf("%d%f",a,b)上面简单的一句,使用了格式化输出,%d表示输出整形数字,%f浮点数。1.System.out.printf和System.out.formatjava继承c语言体系,当然也会有printf之类的函数,我们下面举例:package co

raylee2007的专栏 2116

c++11 标准模板(STL)本地化库 - 平面类别(time_put) - 格式化 std::tm 内容为字符序列以输出

类模板 std::time_put 封装日期和时间格式化规则。 I/O 操纵符 std::put_time 用 I/O 流的 locale 的 std::time_put 平面生成 std::tm 对象的文本表示。

qq_40788199的博客 1357

oracle结果窗口调整隐藏,查看oralce10g,11g隐含参数,并在SQLPLUS窗口格式化输出

```sql/**功能:用于在10g,11g中查询隐含参数的值,主要是可以在SQLPLUS窗口格式化输出注意Cn_Batch_Length的值设置的没必要太大作者:stotf时间:2020/3/28**/Create Or Replace Function f_Imp_Param(Name In Varchar2) Return Varchar2 IsVc_Term Varchar2(100)...

weixin_31630667的博客 222

【轻松学C:编程小白的大冒险】— 11 基础输入输出函数与格式化

在编程的艺术世界里,代码和灵感需要寻找到最佳的交融点,才能打造出令人为之惊叹的作品。而在这座秋知叶i博客的殿堂里,我们将共同追寻这种完美结合,为未来的世界留下属于我们的独特印记。

秋知叶i 805
上一篇: (10)过滤输入
下一篇: 附加功能--保存用户查询历史,显示查询史,复习查询过的单词
错_对
博客等级 码龄16年 68粉丝 80原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值