2009-07-31 15 views
9

VB.NET का उपयोग करना - मैं एक स्ट्रिंग है:एक बहु चरित्र विभाजक का उपयोग कर एक स्ट्रिंग को विभाजित करने और बनाए रखने के लिए विभाजक

"##RES00012##Some value ##RES00034##Another value" 

मैं करने के लिए एक विभाजक के रूप में "##RES" का उपयोग कर विभाजित करना चाहते हैं यही कारण है कि:

"##RES00012## Some value" और "##RES00034## Another value"

string.split समारोह कई पात्रों या अक्षरों के सरणी पर विभाजित है और विभाजक, जो कार्यात्मक पुर के लिए आवश्यक है बनाए रखने के लिए एक अधिभार की पेशकश नहीं लगती बन गया है।

मैं बस indexOf("##res") खोज रहा हूं और ऐसा करने के लिए स्ट्रिंग मैनिपुलेशन का उपयोग कर रहा हूं जब तक कि मुझे कुछ स्पष्ट याद आ रहा है? मैंने समाधान के लिए एसओ खोजा है लेकिन कुछ भी खोजने में असमर्थ है जो वास्तव में करता है जो मैं करता हूं।

निम्नलिखित निकटतम मैं मिल गया है है: how-do-i-split-a-string-by-a-multi-character-delimiter-in-c

उत्तर

16

कई पात्रों पर विभाजन कि मुश्किल नहीं है,

Dim input As String = "##RES00012## Some value ##RES00034## Another value" 
Dim parts As String() = input.Split(New String() {"##RES"}, StringSplitOptions.RemoveEmptyEntries) 

यह आपको दो तत्वों के साथ एक सरणी दे देंगे:

"00012## Some value " 
"00034## Another value" 

हालांकि, विभाजक बाहर छोड़ दिया है वहाँ String.Split विधि है कि करता है उस पर भार के हैं। हालांकि यह अत्यधिक मुश्किल नहीं है; यह तत्व में से प्रत्येक के लिए prepended किया जाना चाहिए (पहले एक को छोड़कर यदि स्ट्रिंग विभाजक के साथ शुरू नहीं करता है):

Dim input As String = "##RES00012## Some value ##RES00034## Another value" 
Dim parts As String() = input.Split(New String() {"##RES"}, StringSplitOptions.RemoveEmptyEntries) 

For i As Integer = 0 To parts.Length - 1 
    If i > 0 OrElse input.StartsWith("##RES") = True Then 
     parts(i) = "##RES" & parts(i) 
    End If 
Next 
13

अतिरिक्त कोड लोगों का एक बहुत कुछ ... बस क्यों नहीं है यही कारण है कि का उपयोग करें:

Dim inputs As String = "first value##second value##third value" 
Dim parts As String() = Strings.Split(inputs,"##") 
+0

शानदार! बहुत स्पष्ट समाधान। –

+0

"स्ट्रिंग्स" वर्ग कहां परिभाषित किया गया है? –

संबंधित मुद्दे