【发布时间】:2011-02-20 10:43:09
【问题描述】:
我知道以前有人问过类似的问题,但我找不到一个和我一样的问题,或者足够像我的问题来帮助我:)。所以基本上我想拆分一个包含一堆单词的字符串,并且我不想返回任何不是单词的字符(这是我正在努力解决的关键问题,忽略字符)。这就是我定义问题的方式:
构成单词的只是一个任意字符的字符串
a-zA-Z(没有数字或其他任何东西)在任何单词之间,可以有任意数量的随机其他字符
我想找回一个只包含单词的
string[]
例如:文本:"apple^&**^orange1247pear"
我要返回:apple、orange、pear 的数组。
我想我找到的最接近的是:
Regex.Split("apple^orange7pear",@"([a-zA-Z]*)")
拆分出苹果/橙/梨,但也返回一堆其他垃圾和空白字符串。
有谁知道如何阻止 split 函数返回字符串的某些部分,或者这不可能吗?
提前感谢您给我的任何帮助:)
【问题讨论】:
-
请注意,您非常限制自己。我一直认为 àèéìòù 是有效的字母 :-)
-
请提供示例代码。我怀疑您只是在读取错误的结果对象。 :) 要匹配一个单词,请使用 \w+ 而不是指定所有可能的字符。
-
@Tedd OP写的,用*代替+,如果单词之间有多个分隔符,会生成空元素,所以是正确的。
-
@Tedd: \w 包含数字,他想把数字当作分隔符