'Creates a new scenario from string'

@classmethod
def from_string(new_scenario, string, with_file=None, original_string=None, language=None, tags=None):

    string = '\n'.join(strings.get_stripped_lines(string, ignore_lines_starting_with='#'))
    if (not language):
        language = Language()
    splitted = strings.split_wisely(string, (u'(%s):' % language.examples), True)
    string = splitted[0]
    keys = []
    outlines = []
    if (len(splitted) > 1):
        parts = [l for l in splitted[1:] if (l not in language.examples)]
        part = ''.join(parts)
        (keys, outlines) = strings.parse_hashes(strings.get_stripped_lines(part))
    lines = strings.get_stripped_lines(string)
    scenario_line = lines.pop(0).strip()
    for repl in (language.scenario_outline, language.scenario):
        scenario_line = strings.remove_it(scenario_line, (u'(%s):    ' % repl)).strip()
    scenario = new_scenario(name=scenario_line, remaining_lines=lines, keys=keys, outlines=outlines, with_file=with_file, original_string=original_string, language=language, tags=tags)
    return scenario
