1587. 字符串切分

中文English

现在有一个字符串,首字符代表一级分隔符,分隔不同的键值对key-value;第二个字符代表二级分隔符,分隔key和value;后面的字符串表示待处理的字符串。请给出所有的有效键值对。

样例

样例1

输入:"#:a:3#b:8#c:9"
输出:[["a","3"],["b","8"],["c","9"]]

样例2

输入:"#:aa:3#b:853#:9"
输出:[["aa","3"],["b","853"]]

注意事项

有效键值对即key和value均不为空的键值对。
题目保证分隔符不为字母或数字,待处理的字符串中只包含两种分隔符、小写字母和数字,且两个一级分隔符中间最多只出现一个二级分隔符。
题目保证所给字符串长度不超过1000。

class Solution:
    """
    @param str: the string need to be processed
    @return: all the valid key-value pairs.
    """
    def StringSeg(self, str):
        #边界检测
        if not str: return []
        
        first_split, second_split = str[0], str[1]
        str_array = [val for val in str.split(first_split) if val]
        results = []

        for s in str_array:
            temp_array = [val for  val in s.split(second_split) if val]
            if len(temp_array) == 2:
                results.append(temp_array)
                
        return results

 

相关文章:

  • 2021-12-15
  • 2022-12-23
  • 2021-12-23
  • 2021-07-10
  • 2022-02-28
  • 2022-12-23
  • 2021-09-13
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-10-17
  • 2022-12-23
  • 2019-08-05
相关资源
相似解决方案