You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R语言字符串中查找左括号的位置

在R中查找字符串里左括号"("的位置

首先定义目标字符串:

mystring <- "VAR_c(1:9)_XYZ"

基础R实现

查找第一个左括号的位置

使用regexpr()函数,它会返回第一个匹配项的起始索引(R中字符串索引从1开始):

# 转义左括号,因为它在正则表达式中是特殊字符
first_pos <- regexpr("\\(", mystring)
as.integer(first_pos)
# 输出:5

查找所有左括号的位置

如果字符串包含多个左括号,用gregexpr()获取所有匹配位置:

all_pos <- gregexpr("\\(", mystring)
as.integer(all_pos[[1]])
# 输出:5(此例中仅一个匹配)

stringr包实现(tidyverse风格)

如果你常用tidyverse工具,stringr包的函数语法更简洁:

# 首次使用时先安装加载包
install.packages("stringr")
library(stringr)

# 查找第一个匹配
str_locate(mystring, "\\(")
# 输出:
#      start end
# [1,]     5   5

# 查找所有匹配
str_locate_all(mystring, "\\(")
# 输出:
# [[1]]
#      start end
# [1,]     5   5

内容的提问来源于stack exchange,提问作者Shaun

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 01:32:00