-5

1つの文字列にシリアルポートからの3つのIPアドレスがあります。たとえば、文字列はのようなもの192.168.1.1/192.168.1.12/192.168.1.118です。この文字列を3つのIPアドレス文字列に分割し、それぞれをIP1文字列、IP2文字列、およびIP3文字列に配置できるように、「/」文字をどのように検出しますか?

4

6 に答える 6

3

var res = "192.168.1.1/192.168.1.12/192.168.1.118".Split('/');

于 2012-07-31T08:28:43.983 に答える
1

最良の方法はそのようにすることです:

string sRaw = "192.168.1.1/192.168.1.12/192.168.1.118";
string[] sParts = new string[]{};

if(sRaw.Contains('/')){
  sParts = sRaw.Split('/');
}

ただし、IPの検証にはIPAddressを使用することを忘れないでください。 http://msdn.microsoft.com/en-us/library/system.net.ipaddress.aspx

于 2012-07-31T08:32:10.130 に答える
0
string arrStr = "192.168.1.1/192.168.1.12/192.168.1.118";
char[] separator = new char[] { '/' };
string[] strSplitArr = arrStr.Split(separator);

string IP1 = strSplitArr[0];
string IP2 = strSplitArr[1];
string IP3 = strSplitArr[2];
于 2012-07-31T08:33:26.393 に答える
0

String.Split('/')方法を使用してください

例:

var text = "192.168.1.1/192.168.1.12/192.168.1.118".Split('/');
于 2012-07-31T08:29:05.070 に答える
0
string sData = "192.168.1.1/192.168.1.12/192.168.1.118";
string[] sIps = null;

if (sData.Contains('/'))
    sIps = sData.split('/');

// sIps[i] contains your data
于 2012-07-31T08:30:19.783 に答える
0

StringSplitOptions.RemoveEmptyEntriesを追加して、入力データからのスラッシュ/テールスラッシュの重複が原因で空のアイテムが取得されないようにすることができます。

var data = "192.168.1.1/192.168.1.12/192.168.1.118";
var result = data.Split('/', StringSplitOptions.RemoveEmptyEntries);
于 2012-07-31T08:33:20.180 に答える