我有一个字符串列表。他们看起来像: this.is.the.first.one
that.is.the.second
thishasnopoint
其中一些有点,但其中一些没有点。我只需要在可能的第一个点之前使用c#从第一个字母中截断字符串。截断的字符串应如下所示: this
that
thishasnopoint
谷歌搜索没有显示任何有用的线索。从第一个字母之前的第一个字母开始截断字符串?
回答
简单的方法是这样的:
string firstBit = wholeString.Split('.')[0];
Split
它变成一个字符串数组,在'.'
字符分隔。在thishasnopoint
的情况下,该数组只有一个元素。
现在,我的理解是正确的,该字符串是唯一的一个这些序列......所以这将做到这一点:
var result = strings.Split('.').First();
如果字符串是:this.is.the.first.one that.is.the.second thishasnopoint
- 一个字符串这样的:
var firstWords = new List<string>();
strings.Split(' ').ForEach(x => firstWords.Add(x.Split('.').First()));
将返回:
List<string>
用三根琴弦 - this that thishasnopoint
string getTruncated(string s) {
int startIdx = -1;
for (int i = 0; i < s.Length; ++i) {
if (Char.IsLetter(s[i])) {
startIdx = i;
break;
}
}
int endIdx = s.IndexOf('.');
if (startIdx != -1) {
if (endIdx != -1) {
return s.Substring(startIdx, endIdx);
} else {
return s.Substring(startIdx);
}
} else {
throw new ArgumentException();
}
}
工作更快,而不是“分裂”的方法,但它更复杂。
split如何在内部实现?是什么让这个更快? – Hammerstein 2012-01-18 12:06:04
呃...为什么假设这是性能敏感?你的代码比使用分割的版本要维护得少得多。另外,如果你得到一个字符串像111.234,OP不排除,你的代码会导致一个ArgumentException。 – 2012-01-18 12:24:40
Hammerstein,split方法创建字符串数组,例如输入==“this.is.first.phrase”split('。')将返回String [] {“this”,“is”,“first”, “短语”}数组,其中只有zero'st元素正在使用,但其他将成为GC。 David M,作为post的创建者说,结果必须是第一个字母和第一个点之间的子串。然后,如果输入只是数字,则引发异常。 – nazlo 2012-01-20 17:38:18
- 1. CSS ::之前抵消::第一个字母
- 2. 对字符串进行排序,第一个字母第一个,然后是字母内部的字母
- 3. PHP字符串替换第一个字母名字的第一个名字
- 4. preg_match:字符串和第一个非字母数字字符
- 5. 从第一个字母开始,而不是第一个字符开始排序varchar列?
- 6. 在第一个非字母字符分割字符串
- 7. 由另一个字符串排序字符串,大写字母第一个
- 8. 分组串的第一个字符(字母和数字)
- 9. 第一个字母是字符串中的数字
- 10. 查找字符串中的第一个字母和第一个元音java
- 11. 如何从字符串中删除所有字符,从第一个非字母字符开始?
- 12. 查找字符串中每个单词的第一个字母
- 13. 如何查找字符串中的第一个字母(按字母顺序)?
- 14. 如何在字符串中使用Javascirpt大写字母的第一个字母
- 15. Python练习:最后一个字母/第一个字母
- 16. Python:将第一个第n个匹配字母替换为另一个字母
- 17. C源代码将字符串中的第一个字母从小写字母改为大写字母
- 18. 如何更改字符串的第一个字母的情况?
- 19. (Python)打印两次的第一个字母字符串
- 20. WTSVirtualChannelRead只读取字符串的第一个字母
- 21. 返回字符串中的第一个字母(javascript)
- 22. 获取字符串中第一个字母的实例
- 23. 如何制作字符串大写的第一个字母?
- 24. 基于第一个字母的映射字符串
- 25. Django获取字符串的第一个字母
- 26. 在Matlab中比较第一个字母的字符串
- 27. C中字符串的第一个字母
- 28. Reg。表达式检查字符串的第一个字母
- 29. Android:将字符串的第一个字母转换为小写
- 30. 如何将字符串中的第一个字母大写?
光滑...,并且对于那些没有周期的字符串,总是会将整行返回到数组的零位... Cool ... – DRapp 2012-01-18 11:41:16
谢谢!有用! – user1154138 2012-01-18 11:44:19