ORC|NW|487722|01E201806-2800042|628116|2|0|||20180628171215|||ADMIN^樊翠翠|||||||||儿科急诊门诊^^1300314||||||||A|||中心药房^^1401003
TQ1|1||1&每日一次|||4.0^&1|201806281000
RXO|397F^钠钾镁钙葡萄糖注射液^^500ml/袋|1||ml||8^输液单||||||||||||||0^否||3^滴/分钟
我想根据ORC 取第n个|后面的值 java里有这样的方法吗?
比如我去ORC第4个|后面的就是628116
大神们请求帮助
public static void main(String[] args) {
// TODO Auto-generated method stub
String s="ORC|NW|487722|01E201806-2800042|628116|2|0|||20180628171215|||ADMIN^樊翠翠|||||||||儿科急诊门诊^^1300314";
System.out.print(searchstr(s,"ORC",4));
}
public static String searchstr(String str,String strcmp,int strindex){
String[] strArray=str.split("|");
String ORC = strArray.get(0);
String NW = strArray.get(1);
String 487722 = strArray.get(2);
String 01E201806-2800042 = strArray.get(3);
String 628116 = strArray.get(4);
}
}
如果这个字符串规则不变的话这样取值是可以的,完美解决望采纳
tring[] aa = "ORC|NW|487722|01E201806-2800042|628116|2|0|||20180628171215|||ADMIN^樊翠翠|||||||||儿科急诊门诊^^1300314||||||||A|||中心药房^^1401003".split("|");
string aaa=aa[n]//i为你要取的个数
public class test {
public test() {
// TODO Auto-generated constructor stub
}
public static void main(String[] args) {
// TODO Auto-generated method stub
String s="ORC|NW|487722|01E201806-2800042|628116|2|0|||20180628171215|||ADMIN^樊翠翠|||||||||儿科急诊门诊^^1300314";
System.out.print(searchstr(s,"ORC",4));
}
public static String searchstr(String str,String strcmp,int strindex)
{
String[] strArray=str.split("\\|");
int i=0;
for(i=0;i<strArray.length;i++)
{
if(strArray[i].equals(strcmp))
{
return strArray[i+strindex];
}
}
return "原字符串不符合条件";
}
}
package myhello;
public class test {
public test() {
// TODO Auto-generated constructor stub
}
public static void main(String[] args) {
// TODO Auto-generated method stub
String s="ORC|NW|487722|01E201806-2800042|628116|2|0|||20180628171215|||ADMIN^樊翠翠|||||||||儿科急诊门诊^^1300314";
System.out.print(searchstr(s,"ORC",4));
}
public static String searchstr(String str,String strcmp,int strindex)
{
String[] strArray=str.split("\\|");
int i=0;
for(i=0;i<strArray.length;i++)
{
if(strArray[i].equals(strcmp))
{
if(i+strindex<strArray.length)
{
return strArray[i+strindex];
}
else
{
return "查找到字符串,但是没有符合该位置的结果";
}
}
}
return "原字符串不符合条件";
}
}
public class Test {
public static void main(String[] args) {
String s="ORC|NW|487722|01E201806-2800042|628116|2|0|||20180628171215|||ADMIN^樊翠翠|||||||||儿科急诊门诊^^1300314";
System.out.print(searchstr(s,"ADMIN",9));
}
/**
*
* @param str 要查找的字符串
* @param strcmp 开始查找的字符串,比如从ORC开始,该字符串为ORC
* @param strindex 查找的索引数,该处为4
* @return 查找结果字符串
*/
public static String searchstr(String str,String strcmp,int strindex){
String subString = str.substring(str.indexOf(strcmp));
String[] strArray=subString.split("\|");
if(strArray.length>=strindex) {
return strArray[strindex];
}else {
return "要查找的字符串不存在";
}
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
String s="ORC|NW|487722|01E201806-2800042|628116|2|0|||20180628171215|||ADMIN^樊翠翠|||||||||儿科急诊门诊^^1300314";
System.out.print(searchstr(s,"ORC",4));
}
public static String searchstr(String str,String strcmp,int strindex)
{
String[] strArray=str.split("\|");
int i=0;
for(i=0;i<strArray.length;i++)
{
if(strArray[i].equals(strcmp))
{
return strArray[i+strindex];
}
}
return "原字符串不符合条件";
}
使用String库中的split函数,根据|拆成数组,根据索引下标-1的方式就可以找到了