使用下划线分隔Java中的字符串作为分隔符

Bha*_*idu 6 java string split

我有以下字符串(字符串的格式是通用的)

abc_2012-10-18-05-37-23_prasad_hv_Complete
Run Code Online (Sandbox Code Playgroud)

我只想提取prasad_hv.我该怎么做?

这不是我想要执行此操作的唯一字符串,因此任何特定于此字符串的内容(例如,检查'prasad_hv')都无济于事.

我尝试使用split with _作为分隔符,但它分开prasadhv分开.请帮忙!

PS来概括,字符串将遵循格式

string_<digit>-<digit>-<digit>-<digit>-<digit>-<digit>_<String with underscores>_<String>
Run Code Online (Sandbox Code Playgroud)

Juv*_*nis 9

你说

字符串的这种格式是通用的.

然后在拆分后将元素与索引2和3连接起来:

String str = "abc_2012-10-18-05-37-23_prasad_hv_Complete";
String[] parts = str.split("_");
String extractedResult = "";
if(parts.length > 3)
   extractedResult = parts[2] + "_" + parts[3]; // prasad_hv is captured here.
Run Code Online (Sandbox Code Playgroud)


Red*_*ddy 3

即使您想要的字符串中有很多下划线字符,这也将起作用。

str.substring(str.indexOf("_", str.indexOf("_") + 1) + 1, str.lastIndexOf("_"));
Run Code Online (Sandbox Code Playgroud)