public String[] allDelimitedString(String from, char start, char end) {
		String[] result;
		ArrayList<String> str = new ArrayList<String>();
		LinkedList<Integer> startPosList = getAllIndexes(from, start);
		LinkedList<Integer> endPosList = getAllIndexes(from, end);
		int startPos, endPos;
		while(!startPosList.isEmpty()) {	// 開始文字が存在する限りループ
			startPos = startPosList.poll();
			endPos = -1;
			if (!endPosList.isEmpty()) endPos = endPosList.poll();
			// 終了文字が開始文字より先の場合、次の終了文字を取り出す
			while (startPos > endPos && !endPosList.isEmpty()) endPos = endPosList.poll();
			if (startPos > endPos) {		// 最後の終了文字が開始文字よりも先の場合
				str.add(from.substring(startPos));
				startPosList.clear();
			} else {
				str.add(from.substring(startPos + 1, endPos));
				// 次の開始文字が現在の終了文字よりも先にある場合、全てリストから削除する
				while (!startPosList.isEmpty() && startPosList.peek() < endPos) startPosList.poll();
 			}
		}
		result = str.toArray(new String[str.size()]);
		return result;
	}