2012-04-20 159 views
1

我有一個字符串,例如如何從字符串中刪除特定位置的字符?

Dim str as string = xxxxxxxxxxxxxxxxxxxx£xxx£xxxx**£**xxxxxxxxxx 

我想刪除總是處於特定位置(例如第11位)的粗體。整個字符串是一個很長的字符串,總是會改變大小,不能從頭開始計數。無法使用替換,在其他位置可能有相同的字符,我不想刪除。

SOLUTION:RST昏暗作爲字符串= str.Remove(str.Length - 11,1)

感謝。

大號

+0

這個怎麼樣http://msdn.microsoft.com/en-us/library/kxbw3kwc.aspx – Rrjrjtlokrthjji 2012-04-20 18:37:35

+0

良好的鏈接感謝感謝 – lawphotog 2012-04-20 18:58:16

回答

1

編輯:哎呀,我不知道我在想什麼對第一部分..

第一部分的正確版本是:

海峽= str.Substring(0,str.Len - 13)+ str.Substring(str.Len-11);

還有可能對String.Delete功能,使您可以使用一個負數從字符串的結尾表示的字符數過載 - 我知道C#相當於做..

+1

謝謝菲利普..你說得很對..其實很簡單,當我知道怎麼做的時候..在這裏我得到了.. Dim rst As String = str.Remove(str.Length - 11,1) – lawphotog 2012-04-20 18:54:35

+0

是的,這可能是一個更直接的方式來做到這一點..好趕上! – 2012-04-20 18:56:27

+0

@LaurenceNyein:您應該添加該代碼作爲答案! – 2012-04-20 20:20:42

1

如果它總是會從你能做到這一點結束的第11字...

Dim strTargetString As String = "xxxYxxxxxxxxxx" 
    Dim strTargetString2 As String = "xxxxxxxYxxxxxxxxxx" 

    Dim strResult As String = Mid(strTargetString, 1, (Len(strTargetString) - 11)) & Microsoft.VisualBasic.Right(strTargetString, 10) 
    Dim strResult2 As String = Mid(strTargetString2, 1, (Len(strTargetString2) - 11)) & Microsoft.VisualBasic.Right(strTargetString, 10) 

注意String.SubString是一個更現代的方法比中旬,我卻用它出於偏好和榜樣。

+0

感謝您的幫助! – lawphotog 2012-04-20 18:55:42

1

這種使用是用正則表達式替換操作相當簡單前瞻:

Dim str as String = "xxxxxxxxxxxxxxxxxxxx£xxx£xxxx£xxxxxxxxxx" 
Dim str2 as String = Regex.Replace(str, "£(?=.{10}$)", String.Empty) 

這將針對單個字符,然後再任意十個字符的字符串的結尾,並與String.Empty值來替換它(或只是""如果你願意)。

+0

感謝幫助的人! – lawphotog 2012-04-20 18:56:19

相關問題