回 帖 发 新 帖 刷新版面

主题:[讨论]程序员求职题目

分析一个字符串,分析出字符串中的label情况,被"[]" 包围的字符串就是一个label,一个"[]"中可能包含多个label,以"," 或者 " "(空格)分隔,
如果label是用引号包含的则忽略其中的空格。
例子说明
lable是一个字符串,下面的例子中简单起见用了a,b,c等简单的字符,不要误解成就是一个字母
例子中的somthing就是任意的可包含回车,换行等字符的字符串。
例子1
[a]something 
其中 有一个label: 
a

例子2
[a][b]something
这个字符串有个两个label: 
a
b

例子3
[a,b]something
这个字符串有个两个label: 
a
b
例子4
[a,b][c]something
这个字符串有个三个label: 
a
b
c
例子5
[a,"b b"][cc]something
这个字符串有个三个label: 
a
b b
cc
例子6
[a,"b b",cc]something
这个字符串有个三个label: 
a
b b
cc
例子7
[a,b b][cc]something
这个字符串有个四个label: 
a
b
b
cc
需要支持全角比如"【】" label 分隔符","也要支持全角","
例如
【a】[b]somthing
 这个字符串有个两个label: 
a
b
【a,b】[c]somthing
 这个字符串有个三个label: 
a
b
c
 
请用C#写一个分析字符串label的小函数
List<string> parseLabels(string inputString)
根据输入的字符串返回字符串中含有的label。

回复列表 (共4个回复)

沙发

本人只能根据将外层[]获得字符串数组,判断空格和引号的问题有点复杂,希望大虾帮忙啊。明天要交了

板凳

就是一个递归分块的问题吧

3 楼

应该是用到正则表达式

4 楼

[[] 这样的情况就相当恼火了。 应该是递归。
[AA[SS[[[[[SA]]SS[Q]W[QQ]

我来回复

您尚未登录,请登录后再回复。点此登录或注册