【发布时间】:2016-06-26 12:24:26
【问题描述】:
如果字符串中有 2 个空格,我在尝试删除字符串的第一个空格时遇到问题。例如它应该将“Fully Functional Method”变成“FullyFunctional Method”,但“Functional Method”不应该改变,因为它只有1个空格。如果字符串包含 2 个空格,我真的想不出删除第一个空格的方法。
【问题讨论】:
-
哪种语言?
如果字符串中有 2 个空格,我在尝试删除字符串的第一个空格时遇到问题。例如它应该将“Fully Functional Method”变成“FullyFunctional Method”,但“Functional Method”不应该改变,因为它只有1个空格。如果字符串包含 2 个空格,我真的想不出删除第一个空格的方法。
【问题讨论】:
我不知道你到底想做什么,但你可以搜索RegExp 和 String.replace() 来替换字符串中的一些内容。 这是另一个了解Characters, metacharacters, and metasequences的链接。
var myPattern1:RegExp = / /g;
var str1:String = "This is a string that contains double spaces.";
trace(str1.replace(myPattern1, " "));
//this replaces all " " by " "...
//outputs : This is a string that contains double spaces.
或者在你的情况下(我想)是这样的
var myPattern2:RegExp = / /;
var str2:String = "Fully Functional Method";
trace(str2.replace(myPattern2, ""));
//If you omit the g, only the first space will be replaced by ""
//outputs : FullyFunctional Method
使用 RegExp 可以做的事情太多了,我不会在这里解释... 只需在 Adobe 网站上查看... 这是处理字符串的一种快速有效的方法。 我希望这将有所帮助。 由于您检查了这些链接,您会明白我的示例是纯粹的粗略,应该修改为具有全功能方法。 :D
【讨论】:
对字符串进行线性扫描。计算空格数并记录第一个空格的索引,如果有的话。如果有两个空格,则返回一个字符串,该字符串是最多但不包括第一个空格的字符和第一个空格之后的字符的串联。
保持简单。可以使用正则表达式解决您的问题,但请记住,在未排序集中查找特定字符的最坏情况时间复杂度始终为 O(N),因此不会更快。
【讨论】: