我是'postgres'的新手,并尝试从字符串中提取值。我正在尝试使用protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
String dbcont = getCont();
tone = (TextView)findViewById(R.id.textView1);
tone.setText("usean :-)"+dbcont);
}
public String getCont() {
String mit = null;
try {
URL oracle = new URL("http://localhost/grace/conn.php");
BufferedReader in = new BufferedReader(
new InputStreamReader(oracle.openStream()));
StringBuilder sb = new StringBuilder();
String inputLine;
while ((inputLine = in.readLine()) != null) {
sb.append(inputLine);
}
mit = sb.toString();
System.out.println(mit);
}
catch(Exception e){
e.printStackTrace();
}
return mit;
}
和regexp_substr
的组合来实现预期的结果。
更新示例:我有一个字符串replace
(遵循模式"When Harry met Sally"
)。我想提取单词When X met Y
,即X。
我正在尝试语法:
Harry
但收到错误消息:regexp_substr(REPLACE('When Harry met Sally', 'When ', ''),' met [^.]*');
有人可以帮忙吗?我想这对于一些专业人士来说这是孩子的游戏。
答案 0 :(得分:0)
在使用某些功能之前,请检查documentation有关其语法的信息......或者是否存在。
Postgresql中不存在regexp_substr 。你想做什么 ?
我想提取哈利这个词。
按哪个标准?第二个字? X在"当X遇到Y"? 如果没有更多信息,就无法回答。
postgres=# select regexp_replace('When Harry met Sally',
'When (.*) met.*',
'\1' );
regexp_replace
----------------
Harry
(1 row)
这只是一个例子。例如,如果您想要支持其他类型的空白区域,或者区分大小写,或者在'当'或者......之前接受某些内容,则可能是错误的。