问题标签 [stringi]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
2444 浏览

r - 如何从右到左拆分字符串,如 Python 的 rsplit()?

假设一个向量:

我想得到一个从最右边分裂的新向量,并且只分裂一次。预期结果将是:

这就像python的rsplit()函数。我目前的想法是反转字符串,并用str_split()in分割stringr

有更好的解决方案吗?

更新
这是我返回 n 个拆分的解决方案,具体取决于 stringr 和 stringi。有人提供具有基本功能的版本会很好。

0 投票
2 回答
1800 浏览

r - 如何从系列字符(列名)中删除最后两个元素?

在我的数据框中,许多列名以“.y”结尾,如示例所示:

我想去掉所有以 .y 结尾的列名的最后两个字符,并保持其他字符不变,以便拥有这样的数据框:

如何在不重新输入所有列名的情况下实现这一点?我找到了一种对单个字符串执行此操作的方法,但不知道如何在一系列字符串上重复执行此操作:

0 投票
1 回答
182 浏览

regex - 用于搜索和替换文件中的字符串的正则表达式

嗨朋友们我正在尝试在文件列表中搜索特定的关键字(以 txt 给出)。我正在使用正则表达式来检测和替换文件中关键字的出现。下面是一个逗号分隔的关键字,我传递给它进行搜索。

例如“自动被激活”应该被搜索并替换为automatic_got_activated...“可能是我们下载”替换为“may_be_we_download”等等。

0 投票
2 回答
1250 浏览

r - 将拉丁文音译为古希腊字母

有一种简单的方法可以将拉丁字母转换为希腊字母,使用stringiR 包,这里依赖于 ICU 的音译:

有没有类似的简单方法将拉丁语转换为古希腊语(αβγδ)而不是希腊语(ἀβκδ)?

0 投票
6 回答
2416 浏览

regex - R中的重叠匹配

我已经搜索并能够找到这个论坛讨论以实现重叠匹配的效果。

我还发现了以下关于查找索引以执行此任务的SO问题,但无法找到任何关于在 R 语言中获取重叠匹配项的简明信息。

我可以在大多数支持 ( PCRE ) 的语言中执行此任务,方法是使用 Positive Lookahead 断言,同时在前瞻内部实现捕获组以捕获重叠匹配。

但是,虽然实际上以我在其他语言中使用perl=TR 的相同方式执行此操作,但没有产生任何结果。

使用stringistringr包也是如此。

执行此操作时应返回的正确结果是:

编辑

  1. 我很清楚这regmatches不适用于捕获的匹配,但究竟是什么导致了正则匹配中的这种行为,为什么没有返回结果?我正在寻找一个有点详细的答案

  2. stringiandstringr包不能执行此操作吗regmatches

  3. 请随时添加到我的答案中或提出与我发现不同的解决方法。

0 投票
2 回答
976 浏览

regex - 带有 stringi/ICU 的 R/regex:为什么“+”被认为是非 [:punct:] 字符?

我正在尝试从字符串向量中删除非字母字符。我以为[:punct:]分组会覆盖它,但它似乎忽略了+. 这是否属于另一组角色?

0 投票
2 回答
632 浏览

regex - 拆分保持重复的分隔符

我正在尝试使用stringi包在分隔符上拆分(可能重复分隔符)但保留分隔符。这类似于我之前问过的这个问题:R split on delimiter (split) keep the delimiter (split) but the delimiter can be repeating。我不认为 basestrsplit可以处理这种类型的正则表达式。包可以,stringi但我不知道如何格式化正则表达式,如果有重复,它会在分隔符上拆分,也不要在字符串末尾留下空字符串。

Base R 解决方案、stringr、stringi 等解决方案都受到欢迎。

后来的问题发生了,因为我在 greedy*上使用了\\s但空间没有得到保证,所以我只能想把它留在:

MWE

# 结果

# 期望的结果

0 投票
2 回答
194 浏览

regex - 将 stri_count_fixed 与重叠 = TRUE 一起使用会返回参数数量不正确的错误

今天我看到一篇关于 stringi 包的新添加的新帖子,您可以在其中将参数添加"overlap=TRUE"到一些 stringi 搜索函数。

这是帖子

但是,我已经尝试了 bartektartanus 建议的确切代码(从安装到示例),当我运行它时,我收到错误数量的参数(3),期望 2 为 'stri_count_fixed'

我想知道这是否是因为这真的是新事物,或者我做错了什么。

Devtools 版本:1.6
Stringi 版本:0.3-1
R 版本 = 3.1.1 (RRO 8.0 beta)
64bits 在 Windows 8.1 上运行

0 投票
2 回答
828 浏览

regex - 使用包 stringi (regex) 替换部分字符串

我有一些字符串

我想将同一字母的链替换为一个字母和该字母的出现次数。所以我想要这样的东西: "ab2c3"

我使用stringi包来做到这一点,但它并不像我想要的那样工作。假设我已经有了带有替换零件的向量:

输出:

我想要的输出:[1] "ab2c3"

我也试过这种方式

但我得到错误

0 投票
2 回答
78 浏览

html - 如何查找所有以"结尾的表达式

我有一些字符串实际上是用于创建表格的 HTML 代码,例如

我想提取表达式

<TABLE ALIGN=\"RIGHT\" BORDER CELLSPACING=\"0\" CELLPADDING=\"0\"> <CAPTION><B>MESA HIGH VICTORIES</B></CAPTION> <TH>Team</TH> <TH>Score</TH> <TR

所以我想提取字符串中以 first 开头<TABLE和结尾的部分"<TR"

我能做的最好的就是使用stringi包中的函数

stri_extract_all_regex(z, "(?i)\\<table.*?\\>(\\s+)?(\\<caption,*? \\>)?")

输出

[[1]] [1] "<TABLE ALIGN=\"RIGHT\" BORDER CELLSPACING=\"0\" CELLPADDING=\"0\">\n "

但它仍然不是我所说的。在 first 之前,字符串的唯一强制性部分"<TR""<TABLE"一些设置,标题和标题是可选的。以及如何为它创建适当的正则表达式的想法?


试试这个。看演示。

http://regex101.com/r/vF0kU2/7