gpt4 book ai didi

vb.net - 如何查找字符串拆分期间使用的分隔符(VB.NET)

转载 作者:行者123 更新时间:2023-12-02 02:33:43 24 4
gpt4 key购买 nike

假设我有一个字符串,我想根据几个字符进行拆分,例如 "." , "!" , 和 "?" .我如何确定这些字符中的哪一个拆分了我的字符串,以便我可以将相同的字符添加回相关拆分段的末尾?

    Dim linePunctuation as Integer = 0
Dim myString As String = "some text. with punctuation! in it?"

For i = 1 To Len(myString)
If Mid$(entireFile, i, 1) = "." Then linePunctuation += 1
Next

For i = 1 To Len(myString)
If Mid$(entireFile, i, 1) = "!" Then linePunctuation += 1
Next

For i = 1 To Len(myString)
If Mid$(entireFile, i, 1) = "?" Then linePunctuation += 1
Next

Dim delimiters(3) As Char
delimiters(0) = "."
delimiters(1) = "!"
delimiters(2) = "?"

currentLineSplit = myString.Split(delimiters)

Dim sentenceArray(linePunctuation) As String
Dim count As Integer = 0

While linePunctuation > 0

sentenceArray(count) = currentLineSplit(count)'Here I want to add what ever delimiter was used to make the split back onto the string before it is stored in the array.'

count += 1
linePunctuation -= 1

End While

最佳答案

如果您像这样向正则表达式添加捕获组:

SplitArray = Regex.Split(myString, "([.?!])")

然后返回的数组包含标点符号之间的文本以及每个标点符号字符的单独元素。 Split() .NET 中的函数包括通过捕获返回数组中的组匹配的文本。如果您的正则表达式有多个捕获组,则它们的所有匹配项都包含在数组中。

这将您的样本分为:
some text
.
with punctuation
!
in it
?

然后,您可以遍历数组以获取“句子”和标点符号。

关于vb.net - 如何查找字符串拆分期间使用的分隔符(VB.NET),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2710617/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com