• 2

C# 字串處理

各位高手好

先說聲抱歉 如何這邊不能貼這個文章 請版大刪除

小弟有C#的問題如下

那就是如何用C#達成下面目的

如果今天有一字串內容如下
abcde12354sdy787snhashduabcde25874hfiduhfdogujhsogjdgabcde87539

小弟要將裡面的abcde跟後面5個數字(有多組)取出來 其他的不要
這要怎麼寫呢?

謝謝
2014-06-21 20:29 發佈
文章關鍵字 c# 字串

tyler73782013 wrote:
各位高手好先說聲抱歉...(恕刪)

正則表達式(Regular Expression)...
http://msdn.microsoft.com/zh-tw/library/az24scfc(v=vs.110).aspx

vxr wrote:
正則表達式(Regu...(恕刪)


大大你好
這個我有爬文爬過了
不過我剛剛學C# 找了一天還不是很懂

目前有找到
Regular Expression
string.split
但還是沒有辦法處理(功力淺薄)

可否麻煩大大說詳盡一點呢? 謝謝^^
tyler73782013 wrote:
大大你好這個我有爬文...(恕刪)

規則運算式要靠自己領會..
這個實在沒辦法幫...

我建議你先理解甚麼是規則運算式...
這個跟C#沒有甚麼關係..
他只是一種數學模式...
因為它應用很廣泛...
你可以用GOOGLE進行對幾個關鍵字的搜尋, 例如:
Regular Expression
規則運算式
正則運算式
正規運算式


依照你的需求提供的實作..
abcde\d{5}
\d表示10進位數字, {5}往後擷取5個位數...


你可以土法煉鋼..
抓出abcde的位置然後往後撈5個字在判斷是否為數字再加以擷取..
當然它比使用規則運算式還麻煩就是了...

vxr wrote:
規則運算式要靠自己領...(恕刪)


非常謝謝大大的程式(雖然很多看不懂)
因為真的太多函數不知道功能

不過大大的程式已經有幫助到小弟了

可否請問大大最後一個問題

如何將foreach裡面的所有value轉成陣列的形式

如str[0]=第一筆
str[1]=第=筆

真的非常感謝你 謝謝^^
應該是說怎麼將那些找到的資料轉成一筆一筆的陣列資料
真的謝謝你的幫助^^
我用一個很呆的方法解決了
就是新增一個字串變數a
然後在foreach裡面a = a+value
取出來之後再利用分割函數將a字串做分割


不知道大大有沒有比較簡單的方式
感恩^^
tyler73782013 wrote:
應該是說怎麼將那些找...(恕刪)

我建議你還是稍微想一下..
一定要學習怎麼善用MSDN library..
否則搞得我以為我在幫你寫作業...=_="
真的有問題..
截個圖把代碼貼上來...



對剛學習OOP的學習者來說確實要理解上比較困難些....
matchs他返回的型別基本上是一個collection..
以C#來說他可以應用accessor傳入index把它撈出來...
tyler73782013 wrote:
如何將foreach裡面的所有value轉成陣列的形式...(恕刪)

在迴圈內把數值一筆一筆加入一個空陣列就好啦~

【方法一】
但 C# 的陣列沒有 push 的方法
只能先宣告一個夠用的大小,再填進去,例如:
int[] myArray = new int[10];
for (int i= 0; i < 10; i++)
{
  myArray[i] = value;
}

【方法二】
C#有個類似陣列的東西叫做 List
使用方法都差不多,宣告時多了"<類型>"而已,但好用功能多上不少
像是不必先宣告大小,還可以一筆一筆用 add 填入資料,
如果最後真的只要最基本陣列型態,也可以做轉換:

List<int> myList= new List<int>();
for (int i = 0; i < 10; i++)
{
  myList.Add(value);
}

// 轉換成 Array
int[] myArray= myList.ToArray();

stackoverflow是你最好的伙伴
  • 2
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?