public void MoveBackwardsTo(string marking) { string valueBeforeCurrentPosition = _originalValue.Substring(0, _currentMarking.Position); int markerPosition = valueBeforeCurrentPosition.LastIndexOf(marking); if (markerPosition == MARKER_NOT_FOUND) { throw new StringMarkingNotFoundException(marking); } _currentMarking = new StringMarker(markerPosition, marking); }
public void MoveForwardTo(string marking) { string valueAfterCurrentPosition = _originalValue.Substring(_currentMarking.Position + _currentMarking.Length); int markerPosition = valueAfterCurrentPosition.IndexOf(marking); if (markerPosition == MARKER_NOT_FOUND) { throw new StringMarkingNotFoundException(marking); } _currentMarking = new StringMarker(markerPosition + _currentMarking.Position + _currentMarking.Length, marking); }
public void SetStartMarker() { _startMarking = _currentMarking; }
public void SetEndMarker() { _endMarking = _currentMarking; }
public DissectibleString(string originalValue) { _originalValue = originalValue; _currentMarking = new StringMarker(0, string.Empty); }