我有一个字符串(基本上是一个遵循命名约定的文件名) abc.def.ghi
我想提取第一个.
(即一个点)之前的子串
在java doc api中,我似乎无法在String中找到这样做的方法。
我是不是遗漏了什么?该怎么做呢?
发布于 2011-10-07 13:44:08
看看String.indexOf
和String.substring
。
确保检查-1中是否有indexOf
。
发布于 2015-05-01 04:16:11
公认的答案是正确的,但它没有告诉你如何使用它。这就是如何同时使用indexOf和子字符串函数。
String filename = "abc.def.ghi"; // full file name
int iend = filename.indexOf("."); //this finds the first occurrence of "."
//in string thus giving you the index of where it is in the string
// Now iend can be -1, if lets say the string had no "." at all in it i.e. no "." is found.
//So check and account for it.
String subString;
if (iend != -1)
{
subString= filename.substring(0 , iend); //this will give abc
}
发布于 2011-10-07 15:06:49
您可以只对字符串执行split操作。
public String[] split(String regex)
请注意,java.lang.String.split使用分隔符的正则表达式值。基本上就像这样..。
String filename = "abc.def.ghi"; // full file name
String[] parts = filename.split("\\."); // String array, each element is text between dots
String beforeFirstDot = parts[0]; // Text before the first dot
当然,为了清晰起见,这被分成了多行。它可以写成
String beforeFirstDot = filename.split("\\.")[0];
https://stackoverflow.com/questions/7683448
复制相似问题