想要使用java中的模式从String中提取一个值[关闭]
Posted
技术标签:
【中文标题】想要使用java中的模式从String中提取一个值[关闭]【英文标题】:Want to extract a value from String using patterns in java [closed] 【发布时间】:2014-09-07 04:40:02 【问题描述】:我有字符串,我想提取 AGO_MATERIAL 的值。即1400421-0010
*元素组名称:1-SSCFAP1301498_KB$4,描述:AGO_MATERIAL,隐藏:false,允许:true,级别:0,uiType:uitypeIPC_nestedAssignmentBlock,accessKey:,tabIndex:,styleClasses:[Ljava.lang.String;@5d14ea56
元素列表:属性组
元素组名称:$BASE_GROUP,描述:常规,隐藏:false, 允许:true,级别:0,uiType:uitypeIPC_propgroup,accessKey:, tabIndex: , styleClasses: [Ljava.lang.String;@824e3d8
元素列表:
属性:IS_IN_AGO,类型:String,描述:hej,helpValuesMethod: 空,值:1-SSCFAP1301498_KB$2(SSCBFM901290),输入模式:, 高度:
属性:AGO_MATERIAL,类型:String,描述:SSC Material,helpValuesMethod:null,value:1400421-0010,inputPattern:,高度:4
属性:AGO_SEPARATOR,类型:字符串,描述:SSC 分隔符,helpValuesMethod:null,值::,inputPattern:,高度:4
property: AGO_MTRL_QTY, type: String, description: Material Qty, helpValuesMethod: null, value: 2, inputPattern: , height: 4 >
property: AGO_MATERIAL_NUMBER, type: String, description: AGO material number, helpValuesMethod: null, value: , inputPattern: , height: ";*
【问题讨论】:
不确定你在问什么。请正确格式化并提供代码以供审核。 【参考方案1】:正则表达式可能会使代码复杂化。如果它是一个简单的比较,您可以改用indexOf
。查看字符串的格式,最好使用属性,然后您可以更好地控制值。例如
import java.io.IOException;
import java.io.StringReader;
import java.util.Properties;
public class StringToProp
public static void main(String[] args)
String str1 = "property: IS_IN_AGO, type: String, description: hej, helpValuesMethod: null, value: 1-SSCFAP1301498_KB$2(SSCBFM901290), inputPattern: , height:";
String str2 = "property: AGO_MATERIAL, type: String, description: SSC Material, helpValuesMethod: null, value: 1400421-0010, inputPattern: , height: 4";
String str3 = "property: AGO_SEPARATOR, type: String, description: SSC Separator, helpValuesMethod: null, value: :, inputPattern: , height: 4";
printProperty(str1);
printProperty(str2);
printProperty(str3);
private static void printProperty(String str)
String propertiesFormat = str.replaceAll(",", "\n");
Properties properties = new Properties();
try
properties.load(new StringReader(propertiesFormat));
catch (IOException e)
e.printStackTrace();
System.out.println(properties.getProperty("property") + " : " + properties.getProperty("value"));
【讨论】:
以上是关于想要使用java中的模式从String中提取一个值[关闭]的主要内容,如果未能解决你的问题,请参考以下文章
从 AWS Glue DynamicFrame 中的数组<string> 中提取第一个值
从 Pyspark 中的嵌套 Json-String 列中提取模式