用逗号拆分字符串,其中逗号也是没有 RegExp 的元素
Split string by comma where comma is also a element without RegExp
我必须根据给定的字符串创建一个字母表或范围,即 new Alphabet('ax, b,c, d')
其中 ax、b、c、d 将是字母表元素列表的一部分,我必须拆分给定的字符串用逗号作为分隔符,但 ,
也可以是一个元素,所以你可以做 new Alphabet(',, {, }, [, ]')
。主要问题是我不应该使用 RegExp 来解决模式匹配。元素和前面的逗号之间的白色 Space 是可选的,因此它们不能用作分隔符。
我已经尝试考虑解决模式匹配的解决方案,但我无法找到不包含 RegExp 的解决方案。
如果有人可以帮助我提供一些解释解决方案的伪代码,那就太好了。
好的,这看起来与 python/Typescript 相似,而且非常粗糙。据我了解,您正在将字符串的组成部分分解为基于逗号的数组。如果您知道如何使用 RegEx,则可以将其编码为 for 循环(深思熟虑)。不管怎样,它是:
function makeAlphabet(string):
charArray = [] // for storing alphabet
sequence = [] // for storing symbol like 'ax'
len = length(string)
for( i=0, i < len, i++):
char = string[i]
// we hit comma and our sequence exists or we are at the end of the array
if(char == ',' && length(sequence) > 0 || i == (len - 1)):
// add char sequence to array
charArray.append(sequence)
sequence = []
else:
sequence.append(char)
return charArray
这将 return 代表每个元素的字符数组。如果需要的话,您可以将内部数组设为字符串。如果我们找到逗号,该逻辑实质上会检查我们是否有任何前面的字符。如果是这种情况,它将序列添加到数组中,否则将逗号添加到序列中。
我必须根据给定的字符串创建一个字母表或范围,即 new Alphabet('ax, b,c, d')
其中 ax、b、c、d 将是字母表元素列表的一部分,我必须拆分给定的字符串用逗号作为分隔符,但 ,
也可以是一个元素,所以你可以做 new Alphabet(',, {, }, [, ]')
。主要问题是我不应该使用 RegExp 来解决模式匹配。元素和前面的逗号之间的白色 Space 是可选的,因此它们不能用作分隔符。
我已经尝试考虑解决模式匹配的解决方案,但我无法找到不包含 RegExp 的解决方案。
如果有人可以帮助我提供一些解释解决方案的伪代码,那就太好了。
好的,这看起来与 python/Typescript 相似,而且非常粗糙。据我了解,您正在将字符串的组成部分分解为基于逗号的数组。如果您知道如何使用 RegEx,则可以将其编码为 for 循环(深思熟虑)。不管怎样,它是:
function makeAlphabet(string):
charArray = [] // for storing alphabet
sequence = [] // for storing symbol like 'ax'
len = length(string)
for( i=0, i < len, i++):
char = string[i]
// we hit comma and our sequence exists or we are at the end of the array
if(char == ',' && length(sequence) > 0 || i == (len - 1)):
// add char sequence to array
charArray.append(sequence)
sequence = []
else:
sequence.append(char)
return charArray
这将 return 代表每个元素的字符数组。如果需要的话,您可以将内部数组设为字符串。如果我们找到逗号,该逻辑实质上会检查我们是否有任何前面的字符。如果是这种情况,它将序列添加到数组中,否则将逗号添加到序列中。