2015-03-03 74 views
2

我有一個文本框,用戶可以在其鍵盤上輸入計算,例如100+200如何將一個字符串切成3個部分?

我怎樣才能打破字符串轉換成三個部分,例如:

string mySum = "200+800"; //Just and example of what he may enter into the textbox 
int Operator = mySum.IndexOf('+'); 
string TheOperator = "+"; 
string part1 = (mySum.Substring(1, Operator - 1)); 
mySum.Remove(int.Parse(part1), Operator); 
string part2 = (mySum); 

//Calculate 

int Answer = int.Parse(part1) + TheOperator + int.Parse(part2); 
Messagebox.Show(Asnwer.toString()); //Message box should display 1000 

首先,我知道這是錯的,但我非常不確定如何做到這一點。香港專業教育學院到處找,但我無法找到直接相關的

+0

你想要做一些計算用繩子? – User2012384 2015-03-03 06:40:46

+0

使用分割方法。 var numbers = mySum.Split('+'); – 2015-03-03 06:41:11

+0

@Mr。香港人我知道這聽起來很荒謬...... xD – Aidan 2015-03-03 06:42:49

回答

2

你應該使用string.Split如下:

// ... 

var parts = mySum.Split('+'); 
var part1 = parts[0]; // 200 
var operatorString = parts[1]; // + 
var part2 = parts[2]; // 800 

// ... 
+0

這實際上會產生以下 - part1 =「2」,operatorString =「0」part2 =「0 」。我可以看到你可能打算使用零件[0],零件[1]和零件[2],但分割字符也不包括在輸出中,所以零件只有2個元素,而不是3個。 – 2015-03-03 06:49:07

+1

@PaulMcLean編輯根據您的異議 – 2015-03-03 06:49:55

+1

簡單而快速的答覆,謝謝:) – Aidan 2015-03-03 08:34:24

2

這樣簡單,利用的Split函數

分裂由炭

string[] words = s.Split('+', StringSplitOptions.RemoveEmptyEntries); 

分割的字符數組,當有多個字符

char[] delimiters = new char[] { '+', '*' }; 
    string[] parts = value.Split(delimiters, 
        StringSplitOptions.RemoveEmptyEntries); 

,你還可以使用正則表達式這樣

string value = "cat\r\ndog\r\nanimal\r\nperson"; 
    // Split the string on line breaks. 
    // ... The return value from Split is a string array 
    string[] lines = Regex.Split(value, "\r\n"); 
1

拆分將在這裏工作。

using System; 

public class Program 
{ 
    public static void Main() 
    { 
     string mySum = "200+800"; 
     int totalSum = 0; 
     foreach(var op in mySum.Split('+')) 
     { 
      totalSum += Convert.ToInt16(op); 
     } 
     Console.WriteLine(totalSum); 
    } 
} 

here是小提琴。

1

如果只想計算,你可以這樣做:

var result = new System.Data.DataTable().Compute("200+800", null); 
Console.WriteLine(result); 

希望幫助

相關問題