首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在java中,如何从字符串中获取子字符串,直到字符c?

在java中,如何从字符串中获取子字符串,直到字符c?
EN

Stack Overflow用户
提问于 2011-10-07 13:41:47
回答 9查看 394.2K关注 0票数 129

我有一个字符串(基本上是一个遵循命名约定的文件名) abc.def.ghi

我想提取第一个. (即一个点)之前的子串

在java doc api中,我似乎无法在String中找到这样做的方法。

我是不是遗漏了什么?该怎么做呢?

EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2011-10-07 13:44:08

看看String.indexOfString.substring

确保检查-1中是否有indexOf

票数 82
EN

Stack Overflow用户

发布于 2015-05-01 04:16:11

公认的答案是正确的,但它没有告诉你如何使用它。这就是如何同时使用indexOf和子字符串函数。

代码语言:javascript
复制
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
}
票数 147
EN

Stack Overflow用户

发布于 2011-10-07 15:06:49

您可以只对字符串执行split操作。

代码语言:javascript
复制
public String[] split(String regex)

请注意,java.lang.String.split使用分隔符的正则表达式值。基本上就像这样..。

代码语言:javascript
复制
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

当然,为了清晰起见,这被分成了多行。它可以写成

代码语言:javascript
复制
String beforeFirstDot = filename.split("\\.")[0];
票数 100
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7683448

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档