首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于搜索和替换的C++设计模式

用于搜索和替换的C++设计模式
EN

Stack Overflow用户
提问于 2010-01-26 01:25:55
回答 6查看 561关注 0票数 0

我有一个很大的段落,其中包含一些特殊字符,如%1,%2,%3

我需要知道是否有任何设计模式,以取代那些与适当的值,并创建最后一段。例如:下面是我的静态段落。

%1是美丽的国家,%2是%1的首都,%1国家语言是%3。

我通过某些来源获得%1、%2、%3的值。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2010-01-26 14:47:54

您可以使用strstrsscanf查找指向半模式的字符串指针(两者都是c std库的一部分),但是,要替换它们,您将需要扩展内存块以容纳替换项(如果它们更大),查看grep(适用于unix),或者查看一些字符串搜索算法,如Boyer-Moore

您还可以查看google template systempegtl

票数 0
EN

Stack Overflow用户

发布于 2010-01-26 01:31:58

我不确定是否有这样的设计模式,但是看起来你想在你的应用程序中加入一些模板。

使用jinja 2创建模板的示例

代码语言:javascript
复制
>>> from jinja2 import Template
>>> template = Template('{{ country }} is a beautiful country!')
>>> template.render(country='India')
India is a beautiful country.

或者只是搜索和替换...

票数 1
EN

Stack Overflow用户

发布于 2010-01-26 01:33:18

您所描述的是构建一个解析器。对于像您的问题这样简单的问题,您可能希望保持设计简单,并对大多数语言中可用的字符串使用搜索-替换机制。

如果你需要更强大的东西(例如,在最后的字符串中允许"%1“),我会考虑使用regexCFG引擎,如果这是你打算在现实世界中使用的东西,因为处理边缘情况(比如%%1%1%%%1%)可能会变得相当复杂。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2134165

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档