Menu
CoddyTech

图案查找器

本课属于 Coddy R 学习旅程的“基础知识”单元。第 77 课,共 78 课。

challenge icon

挑战

简单

创建一个名为 count_pattern 的函数,它接受两个参数:text 和 pattern。函数应返回 pattern 在 text 中出现的次数,包括重叠出现的情况。

你会收到两行输入:

  1. 要在其中搜索的文本字符串
  2. 要搜索的模式字符串

使用提供的输入调用你的函数,并打印结果。

提示:

  • 使用 nchar() 获取字符串的长度
  • 使用 substr(text, start, stop) 提取子字符串
  • 遍历每个有效的起始位置,并检查子字符串是否与模式匹配

例如,如果输入是:

ababa
aba

输出应为:

2

说明:模式 "aba" 出现在位置 1(ababa)和位置 3(ababa),因此计数为 2。

如果输入是:

mississippi
issi

输出应为:

2

亲手试试

# 读取输入
con <- file("stdin", "r")
text <- suppressWarnings(readLines(con, n = 1))
pattern <- suppressWarnings(readLines(con, n = 1))
close(con)

# TODO:创建一个名为 count_pattern 的函数,接收 text 和 pattern
# 并返回 pattern 在 text 中重叠出现的次数


# 调用函数并打印结果
print(count_pattern(text, pattern))

基础知识中的所有课

自己练习: R 在线编译器