|
◆説明◆
|
|
文字列strTargetをstrDelimiterで分解し、aryResultに格納するサンプルです。処理の結果、aryResultには、"ABCDEF","abcdef","123456"が格納されます。
|
◆VBの場合◆
|
|
' Split関数を呼び出します。
Dim strTarget As String
Dim strDelimiter As String
Dim aryResult() As String
strTarget = "ABCDEF<BR>abcdef<BR>123456"
strDelimiter = "<BR>"
aryResult = Split(strTarget, strDelimiter)
|
◆VC++(MFC)の場合◆
|
|
// Split関数を自分で作り、呼び出します。
CString strTarget;
CString strDelimiter;
CStringArray *aryResult;
strTarget = "ABCDEF<BR>abcdef<BR>123456";
strDelimiter = "<BR>";
aryResult = Split(strTarget, strDelimiter);
delete aryResult;
// 〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
// 文字列をデリミタで分解する関数
CStringArray *Split(
CString strTarget, CString strDelimiter)
{
CStringArray *aryResult = new CStringArray();
int intDelimiterLen;
int intStart;
int intEnd;
strTarget = strTarget + strDelimiter;
intDelimiterLen = strDelimiter.GetLength();
intStart = 0;
while (intEnd = strTarget.Find(strDelimiter,
intStart), intEnd >= 0)
{
aryResult->Add(strTarget.Mid(
intStart, intEnd - intStart));
intStart = intEnd + intDelimiterLen;
}
return aryResult;
}
// 〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
|
◆Javaの場合◆
|
|
// split関数を自分で作り、呼び出します。
String strTarget;
String strDelimiter;
String aryResult[];
strTarget = "ABCDEF<BR>abcdef<BR>123456";
strDelimiter = "<BR>";
aryResult = split(strTarget, strDelimiter);
// 〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
// 文字列をデリミタで分解する関数
public String[] split(
String strTarget, String strDelimiter)
{
String aryResult[];
java.util.Vector objResult;
int intDelimiterLen;
int intStart;
int intEnd;
objResult = new java.util.Vector();
strTarget = strTarget + strDelimiter;
intDelimiterLen = strDelimiter.length();
intStart = 0;
while ((intEnd = strTarget.indexOf(
strDelimiter, intStart)) >= 0)
{
objResult.addElement(
strTarget.substring(intStart, intEnd));
intStart = intEnd + intDelimiterLen;
}
aryResult = new String[objResult.size()];
objResult.copyInto(aryResult);
return aryResult;
}
// 〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
|
|