首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >prolog中的字符串操作

prolog中的字符串操作
EN

Stack Overflow用户
提问于 2012-12-05 09:27:03
回答 3查看 4.7K关注 0票数 4

前提

因此,我试图将一个给定的字符串分解为一个字符列表,然后这些字符将被编辑/更改并重新分配到列表中,然后列表将被重新构造为一个字符串。

举个例子:

给定String : "ABCDEFG"

字符list : [A,B,C,D,E,F,G]

操作将列表更改为如下所示:E,F,G,H,I,J,K

然后被重构成一个字符串:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
"EFGHIJK"

问题

我正在寻找一种方法来访问字符串中的单个元素。如果是Java,我将使用类似于charAt(int i)的命令,但我不知道这种命令是否存在于prolog中。

Note

我是一个新的prolog程序员,所以我不熟悉大多数prolog操作。

耽误您时间,实在对不起。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-12-05 12:48:05

字符串--它是一个字符代码列表,而一个原子--它是原子的,也就是不可分割的,但是有原子/5来访问原子数据的一部分。

下面是一些字符串示例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
1 ?- L = "ABCDEF".
L = [65, 66, 67, 68, 69, 70].

2 ?- L = "ABCDEF", maplist(succ, L, N), format('~s', [N]).
BCDEFG
L = [65, 66, 67, 68, 69, 70],
N = [66, 67, 68, 69, 70, 71].

3 ?- L = "ABCDEF", maplist(succ, L, N), format('~s', [N]), atom_codes(A, N).
BCDEFG
L = [65, 66, 67, 68, 69, 70],
N = [66, 67, 68, 69, 70, 71],
A = 'BCDEFG'.

如果分析和转换需要详细信息,那么通常最好使用DCGs

票数 3
EN

Stack Overflow用户

发布于 2012-12-05 09:35:33

字符串是Prolog中的原子。

在您的例子中,您可以这样做:"EFGHIJK“= List。

这里有一个很好的帖子:http://obvcode.blogspot.com/2008/11/working-with-strings-in-prolog.html

票数 1
EN

Stack Overflow用户

发布于 2012-12-05 09:41:47

你可以试试这个

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
t(S_in, S_out) :-
    maplist(modif, S_in, S_temp),
    string_to_list(S_out, S_temp).


modif(In, Out) :-
    atom_codes('A', [X]),
    atom_codes('E', [Y]),
    Out is In + Y - X.

字符串是Prolog中的代码列表。因此,maplist对列表中的每个代码进行了修改(一种功能方式)。string_to_list可以在输出端获得一个字符串,而不是一个代码列表。

您可以快速地编写修饰语,但我用您可以轻松理解的方式编写它。

输出是

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
?- t("ABCDEFG", Out).
Out = "EFGHIJK".
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13728938

复制
相关文章
prolog实例_prolog实例
Jetbrains全家桶1年46,售后保障稳定 现在打开编辑器GNU-Prolog,打开文件可以直接询问机器:
全栈程序员站长
2022/11/16
1.3K0
Python 中的字符串操作
又有好久不总结知识点了,大三不仅专业课程变多了,其他事情也多了。最近各种熬夜、码码。。。唉,说好的大学生活好呢? 好了,不扯淡了,最近研究了一下 Python,今天来看一下 Python 中的字符串相关操作。
指点
2019/01/18
9330
Python 中的字符串操作
python中的字符串操作
BIF就是Built-in Functions,内置函数。为了方便程序员快速编写脚本程序,Python提供了非常丰富的内置函数,我们只需要直接调用即可,例如print()的功能是“打印到屏幕”,input()的作用是接收用户输入。注:Python3用input()取代了Python2的raw_input()。
用户7886150
2021/01/09
8910
Python中字符串的操作
注意事项:字符串中的所有更改操作都只能通过重新赋值才可使用,并不会直接在内存中修改
py3study
2020/01/17
8870
[Swift] Swift 中字符串相关的操作
上述遍历得到的字符是 Character 类型的。通过 type(of:) 可以查看某个变量的类型。
CnPeng
2021/01/18
1.9K0
Prolog 语言入门教程
Prolog 是一种与众不同的语言,不用来开发软件,专门解决逻辑问题。比如,"苏格拉底是人,人都会死,所以苏格拉底会死"这一类的问题。
ruanyf
2020/01/21
3.4K0
python中字符串的定义和操作
4种定义方式:(1)a = "hello" (2) a ='hello' (3) a = """hello""" (4) a = str()
用户7886150
2021/01/08
9690
python中字符串的基本操作汇总
字符串是文本操作的核心,在python中字符串是string类的实例,在string模块中,定义了很多的常量
生信修炼手册
2020/05/07
5890
Python中字符串常见操作
例如: mystr.find(str, start=0, end=len(mystr))
py3study
2020/01/19
7760
Python中字符串常见操作
python中字符串的常见操作方法
1. 字符串概念,字符串是一个容器,包含若干个字符并按照一定的顺序组织成一个整体。字符串支持索引操作。
py3study
2020/01/19
3.4K0
JavaScript中字符串与数组的相关操作
如果不包含在数组中,则返回 -1,若是包含,则返回对应元素所在数组中的下标值,该值从0开始;
WindCoder
2018/09/20
1.6K0
MySQL 中对字符串进行操作:字符串截取
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
学到老
2019/10/25
2.1K0
Tcl的字符串操作:其他字符串操作命令
string命令提供了三种字符串裁剪方式:trim、trimleft和trimright。每种方式都需要两个参数,一个指定待裁剪的字符串,一个指定裁剪模式。默认情形下(不指定裁剪模式),裁剪空白符(空格、制表符、换行符和换页符)。事实上,这也是裁剪命令最常用的情形。如下图所示,trimleft从字符串的开头进行裁剪,trimright从字符串的结尾进行裁剪,trim则把在字符串开头和结尾出现的要裁剪的字符都删去,返回删除后的字符串作为结果。
Lauren的FPGA
2019/10/31
3.5K0
在 Python 中的常见的几种字符串替换操作
比如,输入的字符串为’one two one two one’,第一个参数为替换前的参数,第二个为替换后的参数。默认会替换字符串中的所有符合条件的字符串。
全栈程序员站长
2022/09/07
6.2K0
【Redis】Redis 字符串数据操作 ① ( 访问字符串值数据 | 操作数据库中的字符串数据 | 数字数据操作 | 原子操作 )
在 Redis 数据库 中 , String 字符串 类型 是 二进制安全 的 , 可以将 图片 , 视频 序列化为 字符串数据存储 , 然后取出时再反序列化为 原数据类型 ;
韩曙亮
2023/03/30
9920
【Redis】Redis 字符串数据操作 ① ( 访问字符串值数据 | 操作数据库中的字符串数据 | 数字数据操作 | 原子操作 )
基于PHP中自带的字符串操作函数合集
strpos($str,search,[int])://查找search在$str中的第一次位置从int开始; strrpos($str,search,[int])://查找search在$str中的最后一次出现的位置从int开始
用户2323866
2021/07/01
6240
简单入门PHP中的多字节字符串操作
什么是多字节的字符串操作呢?其实不少的同学可能都已经使用过了,但我们还是要从最基础的问题说起。
硬核项目经理
2021/08/06
1.1K0
Python中字符串的一些基本操作
在这里,我们会看见一此操作中包含了好多字符串方法。 startwith 方法用于查找字符串是 否以给定的字符串内容开头。 in 运算符用以检查给定的字符串是否是查询的字符串中的一 部分。 find 方法用于定位字符串中给定的子字符串的位置。如果找不到相应的子字符串, find 会返回 -1。 str 类同样还拥有一个简洁的方法用以 联结(Join) 序列中的项目,其中字符串 将会作为每一项目之间的分隔符,并以此生成并返回一串更大的字符串。
benym
2022/07/14
2230
点击加载更多

相似问题

Prolog字符串操作

20

如何在prolog中操作字符串?

32

字符串操作的简单prolog解释

20

prolog中的列表操作

11

prolog中的列表操作

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文