查找和替换
Problem description |
一些编缉器都有查找和替换的功能,使用起来非常方便,可以对一些相同的情况进行统一的处理,我们现在要使用的查找、替换比那容易的多。举个例子,给定一个文本S为”ararast”,需要替换的字符串T为”ara”,要替换成的字符串RE为”ra”,从头开始查找文本S中是否含有字符串T,当查找成功时,你只需要把相应的字符串用RE代替,然后处理后面的字符串,不用担心新的文本中是否含有需要替换的字符串,像上例中,当查找到S中含有”ara”时,需要把”ara”替换成”ra”,然后再处理后面的字符串”rast”,但中间已经不含需要替换的字符串,因此最后得到的文本为”rarast”。
|
Input |
输入数据的第一行为一个整数n,(0 < n ≤ 100),表示测试数据的个数 第2行到第n +
1行为n组测试数据,第一行包括上面描述的三个字符串S,T,RE,字符串中仅含有小写字母,其中0 < |S| ≤ 10000,0 < |T| ≤
10, 0 < |re| ≤ 10;
|
Output |
输出替换后最终得到的字符串
|
Sample Input |
2
ararast ara ra
abcdabcd a aa
|
Sample Output |
rarast
aabcdaabcd
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char s[10001],t[11],re[11],res[13001];
bool equal(int f,int m){//f是起始位置,m为t的长度
for(int i=0;i<m;i++){
if(s[i+f]==0||s[f+i]!=t[i])
return false;
}
return true;
}
int main(){
int z,tlen,slen;
scanf("%d",&z);
while(z--){
scanf("%s%s%s",s,t,re);
slen=strlen(s);
tlen=strlen(t);
int len=0;
for(int i=0;i<slen;){
if(equal(i,tlen)){
for(int j=0;re[j];j++)
res[len++]=re[j];
i+=tlen;
}else{
res[len++]=s[i];
i++;
}
}
res[len]=0;//刷新数组res
puts(res);
}
system("pause");
return 0;
}
|
分享到:
相关推荐
在MySQL中,处理字符串时,有时需要将一个字符串分割成多个部分,这通常在处理以特定字符分隔的数据时出现。本话题主要介绍如何利用存储过程来实现这一功能,涉及的关键知识点包括MySQL的内置函数以及存储过程的创建...
其实还有更简单的方法,而且是更好的方法,使用合理描述参数和SQL语句返回值的接口(比如IUserOperation.class),这样现在就可以至此那个更简单,更安全的代码,没有容易发生的字符串文字和转换的错误.下面是详细...
本文将详细介绍如何将文件内容读取为字符串,以及如何将字符串写入文件。 首先,我们来看如何将文件内容读取为字符串。这个过程通常称为文件的读取操作。在Java中,我们可以使用`java.io.File`类来表示文件对象,...
本文将深入探讨如何利用ST7789 LCD显示芯片实现任意字符的显示功能,包括中文和英文,以及图片的显示。首先,我们来看ST7789的初始化配置。 ST7789是一款高性能的SPI或I2C接口的LCD控制器,适用于小尺寸显示屏,如...
同时,为了实现实时更新,可以利用OnTimer()消息处理函数,设置定时器定期调用OnDraw()进行刷新。 四、数据处理与波形解析 数据处理通常涉及滤波、信号分析等算法。例如,可以使用数字滤波器去除噪声,或者通过...
- `strcpy()`:用于复制一个字符串到另一个字符串。 - `strcat()`:将一个字符串连接到另一个字符串的末尾。 - `strlen()`:返回字符串的长度(不包括结束符'\0')。 4. 数学函数: - `sqrt()`:计算一个数的...
INI配置文件是Windows系统...综上所述,"INIFileOP.c"代码主要涵盖了C语言基础操作,如文件I/O、字符串处理,以及针对特定文件格式(INI)的解析和生成。理解并运用这些知识点,可以帮助你更好地处理配置文件管理任务。
例如,`printf`可以用来打印字符串、整数、浮点数等,而`scanf`则可以从标准输入读取用户输入的数据。 2. 字符处理函数: - `getchar` 和 `putchar`:分别用于从标准输入读取和向标准输出写入一个字符。 - `...
fgets()函数用于从文件中读取字符串,原型为char *fgets(char *str, int n, FILE *stream),可以从stream指向的文件中读取最多n-1个字符到str指向的数组中。fputs()函数用于将字符串写入文件,原型为int fputs(const...
在此过程中,需要注意数组中每个元素后的逗号以及数组字符串的开始和结束标记(`[]`),确保生成的字符串符合JSON格式。 接着,在JavaScript中,使用`JSON.parse()`方法来解析JSON字符串,将其转换为JavaScript可以...
这些函数是C语言编程的核心组成部分,帮助开发者实现各种复杂的任务,如输入输出、内存管理、字符串操作、数学计算等。 1. 输入输出函数:如`printf`和`scanf`,用于标准输出和输入。`printf`允许格式化输出,而`...
- **puts**: 输入字符串函数,从标准输入流读取一个字符串。 - **rand**: 随机数生成函数,生成一个随机整数。 - **srand**: 设置随机种子函数,设置随机数生成器的初始种子。 - **qsort**: 快速排序函数,对数组...
- C 风格字符串是以空字符 `\0` 结尾的字符数组。如果不以 `\0` 结束,则仅被视为普通字符数组。 - 在计算字符串长度时,不包括结束的空字符。 - **字符输入与处理**: - 使用 `cin.get()` 可以读取单个字符,...
数据可以是单个字符、字符串或者字节数组。记得在发送后更新缓冲区状态,确保数据已成功发送。 4. **数据接收**:使用Read from Serial Port函数可以从串口读取数据。这通常是非阻塞的,所以可能需要设定超时值,...
可以是单行文本,也可以是整个字符串数组。 ```java bw.write("要写入的内容"); bw.newLine(); // 添加换行符 ``` 5. **刷新和关闭流**:确保所有数据都被写出并关闭流。 ```java bw.flush(); bw.close(); ...
字符串可以被视为字符数组,其中最后一个元素为`\0`。 **7.2 字符串操作** - **字符串长度**:使用`strlen()`函数获取字符串长度。 - **字符串复制**:使用`strcpy()`函数复制字符串。 - **字符串比较**:使用`...
Writer类提供了`write()`方法,可以写入单个字符、字符数组或字符串。此外,`flush()`方法用于将缓冲区中的数据刷新到目的地,`close()`方法用于释放资源,关闭流之前通常会先调用`flush()`以确保数据完整写出。 ...
代码片段中的`DATE`函数展示了如何在C语言中获取当前时间的年、月、日以及具体的时间字符串。该函数利用了C标准库中的`time`函数来获取当前时间戳,再通过`localtime`将其转换为本地时间结构体,最后根据参数`type`...
最后,通过`Encoding.UTF8.GetDecoder()`解码读取到的字节数据,将其转换成字符串形式输出。 #### 二、使用`StreamReader`和`StreamWriter`读写文件 除了`FileStream`之外,`StreamReader`和`StreamWriter`也是...