获取字符串中每个单词的第一个字母并使用 Regex 连接成新单词

艾德詹金斯

我不知道如何从连接的正则表达式匹配中获取所有第一个匹配的字母。我正在尝试扩展我的知识和正则表达式的使用。

我在下面显示的代码正是我想要做的,但是我希望能够使用正则表达式做同样的事情。我尝试过的正则表达式代码很好地匹配每个单词的第一个字母,一次一个单词,但我想一次获得所有第一个字母而不循环。

If Not myString.Contains("/") And myString.ToUpper() = myString Then
    Dim words As String() = myString.Split(" "c)
    Dim initials As String = ""
    For Each Word As String In words
        initials &= Word(0)
    Next
    DGV1(1, i).Value = initials
End If

我尝试过的正则表达式一次只匹配一个字母:我的字符串 (myString) 就像:DEL REY name CLUB

Dim initial As String = Regex.Match(myString, "\b[a-z][A-Z]")

从显示的示例正则表达式代码中,我想在 DataGridView 单元格中显示第一个字母 DRnC,就像上面显示的非正则表达式方法一样。

维克多·斯特里比尤夫

我认为最好的方法是找到所有第一个单词字母,然后连接结果:

Dim results As String = String.Concat(Regex.Matches(myString, "\b\p{L}").Cast(Of Match)().Select(Function(m) m.Value).ToList())

在这里,\b\p{L}查找前面没有字母、数字或连接符标点符号和一些变音符号的任何字母的所有出现。Regex.Matches匹配字符串中出现的所有匹配项,然后.Cast(Of Match)().Select(Function(m) m.Value).ToList()将匹配值提取到一个列表中,并将String.Concat它们连接成一个字符串。

如果您打算使用单个正则表达式方法调用,您可以考虑Regex.Replace

Dim results As String = Regex.Replace(text, "\P{L}*(?:(\p{L})\p{L}*|$)", "$1")

在这里,\P{L}*(?:(\p{L})\p{L}*|$)匹配除字母以外的任何 0+ 字符,然后匹配并捕获到组 1 中的任何字母,然后匹配任何 0+ 字母,或匹配字符串的末尾。$1更换恢复了在结果的第一个字的信。

请参阅正则表达式演示

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用RegEx提取MySQL中每个单词的第一个字符

获取字符串中每个单词的第一个字符

如何获取字符串中每个单词的第一个字符?

仅显示每个单词的字符串的第一个字母

我需要读取字符串数组 C++ 中每个单词的第一个字母

如何仅输出字符串中每个单词的第一个字母?Visual Basic

在SQL中选择字符串中每个单词的第一个字母

Python - 仅将字符串中每个单词的第一个字母大写

从前两个单词的字符串中获取第一个字母

使用javascript交换字符串中每个单词的第一个和最后一个字母

使用包含多个单词的字符串并将每个单词的第一个字母大写的程序(Python 3.x)

用小写字母替换字符串的每个单词中除第一个字符外的所有字符

连接字符串中单词的第一个字符

将字符串的第一个单词更改为第一个字母

开始自学java。需要帮助。给定一个字符串,获取每个单词的第一个字母并将结果作为字符串返回(不带空格)

如何使用python获取字符串中的第一个单词

如何使用Python从数据框中的每个字符串中获取第一个单词?

在JavaScript中使用字符串的RegEx的第一个字母

如何重命名目录名称,将名称字符串中每个单词的第一个字母替换为大写?

在javascript中将字符串中单词的第一个字母更改为大写

字符串中第一个字母的单词计数器不起作用

如何大写字符串中每个单词的第一个字符?

如何大写字符串中每个单词的第一个字符

C++ - 将给定字符串中每个单词的第一个字符大写

获取python中每个2个字母的单词的第一个字母

如何获取“ HTML” Javascript中每个单词的第一个字符?

如何重复字符串中单词的第一个字符?

如何大写字符串中每个单词的最后一个字母

如何在JavaScript中获取单词或字符串的最后一个字母?