泰米尔语 unicode 字符串的最后一个字符 [英] Last character of a Tamil unicode string
问题描述
如何获取 unicode 泰米尔语字符串的最后一个字符.例如,我有一个字符串列表,如 如果我对上述字符串使用 mystring.Last()我得到了 "சுதீப்" = 但我需要得到 "சுதீப்" = <代码>""ப்"""சுதீப்"、"செய்தியை"、"கொள்ளாதது"、"லு"、"லுலுல>்
"செய்தியை" = <代码>""யை"""கொள்ளாதது" = <代码>""து"""வில்லன்" = ""்""
"செய்தியை" = "ை
"கொள்ளாதது" = ""ு""
"வில்லன்" = ""்""
""ன்""
我建议您创建一个辅助函数,在其中循环遍历每个字符并检查 UnicodeCategory.
扩展
_公共模块 StringExtensions<System.Runtime.CompilerServices.Extension()>_Public Function Split(str As String, category As UnicodeCategory) As IList(Of String)Dim 列表作为新列表(字符串)If ((Not str Is Nothing) AndAlso (str.Length > 0)) Then将项目调暗为字符串 = 无Dim chr As Char = 无For Each chr In strIf (Char.GetUnicodeCategory(chr) = category) ThenIf ((Not item Is Nothing) AndAlso (item.Length > 0)) Thenlist.Add(item)万一项目 = chr别的项目 += 字符万一下一个If ((Not item Is Nothing) AndAlso (item.Length > 0)) Thenlist.Add(item)万一万一退货清单结束函数终端模块
使用
导入 [your_namespace].StringExtensionsDim values As String() = {"சுதீப்", "செய்தியை", "கொள்ளாதது", "வலு"Dim builder 作为新 System.Text.StringBuilder()对于每个项目作为字符串输入值builder.AppendLine(String.Concat(item, " : ", item.Split(UnicodeCategory.OtherLetter).Last()))下一个MessageBox.Show(builder.ToString())
输出
சுதீப் : ப்செய்தியை : யைகொள்ளாதது : துவில்லன் : ன்
How to get the last character of a unicode tamil string.
for example i am having a list of strings like "சுதீப்", "செய்தியை", "கொள்ளாதது", "வில்லன்"
if i use mystring.Last() for the above strings i am getting
"சுதீப்" = ""்""
"செய்தியை" = "ை
"கொள்ளாதது" = ""ு""
"வில்லன்" = ""்""
but i need to get
"சுதீப்" = ""ப்""
"செய்தியை" = ""யை""
"கொள்ளாதது" = ""து""
"வில்லன்" = ""ன்""
I suggest you create a helper function where you loop through each char and examine the UnicodeCategory.
Extension
<System.Runtime.CompilerServices.Extension()> _
Public Module StringExtensions
<System.Runtime.CompilerServices.Extension()> _
Public Function Split(str As String, category As UnicodeCategory) As IList(Of String)
Dim list As New List(Of String)
If ((Not str Is Nothing) AndAlso (str.Length > 0)) Then
Dim item As String = Nothing
Dim chr As Char = Nothing
For Each chr In str
If (Char.GetUnicodeCategory(chr) = category) Then
If ((Not item Is Nothing) AndAlso (item.Length > 0)) Then
list.Add(item)
End If
item = chr
Else
item += chr
End If
Next
If ((Not item Is Nothing) AndAlso (item.Length > 0)) Then
list.Add(item)
End If
End If
Return list
End Function
End Module
Usage
Imports [your_namespace].StringExtensions
Dim values As String() = {"சுதீப்", "செய்தியை", "கொள்ளாதது", "வில்லன்"}
Dim builder As New System.Text.StringBuilder()
For Each item As String In values
builder.AppendLine(String.Concat(item, " : ", item.Split(UnicodeCategory.OtherLetter).Last()))
Next
MessageBox.Show(builder.ToString())
Output
சுதீப் : ப்
செய்தியை : யை
கொள்ளாதது : து
வில்லன் : ன்
这篇关于泰米尔语 unicode 字符串的最后一个字符的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!