我试图取代/./
或/././
或/./././
以/
仅在bash脚本.我已经设法为sed创建正则表达式,但它不起作用.
variable="something/./././"
variable=$(echo $variable | sed "s/\/(\.\/)+/\//g")
echo $variable # this should output "something/"
Run Code Online (Sandbox Code Playgroud)
当我试图仅替换/./
子串时,它在sed中使用正则表达式\/\.\/
.请问sed的正则表达式需要更多的标志使用具有子串的乘法+
还是*
?
我正在尝试使用API中的数据填充配置文件表单.不幸的是,在这种情况下,redux-form不想与我合作.出于某种原因,无论我做什么,田地都会空着
由于某种原因,设置固定值而不是从reducer传递的值很好.
也许这是因为我在动作创建者中使用redux-promise进行API调用?我怎么能忍受它并摆脱它.这是我的表单组件.
import React, { Component } from 'react';
import { reduxForm, Field } from 'redux-form';
import { connect } from 'react-redux';
import { fetchRoleList, fetchUserData } from '../actions';
class UserEdit extends Component {
componentWillMount() {
this.props.fetchRoleList();
this.props.fetchUserData();
}
handleEditProfileFormSubmit(formProps) {
console.log(formProps);
}
getRoleOptions(selected_id) {
if (!this.props.profile) {
return <option>No data</option>;
}
return this.props.profile.roles.map(role => {
return <option key={role.role_id} value={role.role_id}>{role.name}</option>;
});
}
renderField(props) {
const { input, placeholder, label, value, type, meta: { touched, error } } …
Run Code Online (Sandbox Code Playgroud) 如何在不编译和运行以下脚本的情况下检索Java供应商信息:
import java.util.Properties;
public class test
{
public static void main(String args[])
{
Properties prop = System.getProperties();
System.out.println ("JVM Vendor : " + prop.getProperty("java.vendor") );
}
}
Run Code Online (Sandbox Code Playgroud)
我在命令行选项中找不到它.
我试图从webservice获得的响应中获取特定值.不幸的是我不知道该怎么做.我使用stackoverflow上的代码创建soap请求并将响应内容写入stdout:
private static void printSOAPResponse(SOAPMessage soapResponse) throws Exception {
TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
Source sourceContent = soapResponse.getSOAPPart().getContent();
System.out.print("\nResponse SOAP Message = ");
StreamResult result = new StreamResult(System.out);
transformer.transform(sourceContent, result);
}
Run Code Online (Sandbox Code Playgroud)
这一切都很好,但我不需要整个响应内容:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:bin="http://localhost/WebService/bindings" xmlns:typ="http://localhost/WebService/types">
<soapenv:Header/>
<soapenv:Body>
<bin:doActionResponse>
<bin:out>
<typ:result>
<typ:code>?</typ:code>
<typ:description>?</typ:description>
</typ:result>
</bin:out>
</bin:doActionResponse>
</soapenv:Body>
</soapenv:Envelope>
Run Code Online (Sandbox Code Playgroud)
我只需要从这个响应中获得代码和描述的价值.我怎样才能做到这一点?
有没有办法找到3个不同列的最大值?我正在尝试查找具有高于指定值的3列值中的任何一个的记录,并尝试避免在查询中创建这样的内容:
column1 > 69 or column2 > 69 or column3 > 69
Run Code Online (Sandbox Code Playgroud)
表结构如下:
id | column1 | column2 | column3
1 | 5 | 4 | 3
2 | 70 | 1 | 65
3 | 66 | 3 | 90
Run Code Online (Sandbox Code Playgroud)
并选择如下:
select id from tablex where column1 > 69 or column2 > 69 or column3 > 69
-- but with better query, a bit prettier like this (it doesn't work of course)
select id from tablex where MAX(column1, column2, …
Run Code Online (Sandbox Code Playgroud) 我对复杂反应应用的多语言支持有疑问.所有示例和文档都基于没有嵌套/子组件的"扁平"应用程序.
如何处理嵌套的数据如下:
<i18n>
<App>
translate('base')(
<Base>
<Child1 />
<Child2 />
{t('Hello')}
</Base>
)
</App>
</i18n>
Run Code Online (Sandbox Code Playgroud)
我应该用translate
HOC 包装每个儿童成分吗?或者还有其他方法可以将翻译功能传递给子组件?
你能告诉我如何迭代列表中的项目可以包含空格吗?
x=("some word", "other word", "third word")
for word in $x ; do
echo -e "$word\n"
done
Run Code Online (Sandbox Code Playgroud)
如何强制输出:
some word
other word
third word
Run Code Online (Sandbox Code Playgroud)
代替:
some
word
(...)
third
word
Run Code Online (Sandbox Code Playgroud) 我遇到了vscode本身的问题.为更简单的导入嵌套模块添加路径后,我发现vscode正在使用新添加的别名@app
并@component
在src/
目录中接受导入.不幸的是,它完全忽略了test/
文件夹中的那些导入.测试工作正常,jest
并没有抱怨这些别名.但vscode出于某种原因一直在向我显示中指.我发现当我test
在tsconfig.json
文件中包含文件夹时,vscode会停止用红线标记那些导入.你有类似的问题吗?处理这个问题的最佳方法是什么?
这是我的tsconfig.json
档案:
{
"compilerOptions": {
"baseUrl": "./",
"paths": {
"*": ["*"],
"@app/*": [ "./src/*" ],
"@component/*": [ "./src/components/*" ],
},
"sourceMap": true,
"noImplicitAny": true,
"module": "commonjs",
"moduleResolution": "node",
"target": "es5",
"lib": ["es6", "dom"],
"allowJs": true,
"jsx": "react",
"outDir": "./build/"
},
"include": [
"./src/**/*"
],
"exclude": [
"node_modules",
"./test/**/*"
]
}
Run Code Online (Sandbox Code Playgroud) 所以基本上我想选择具有特定子元素的元素。现在我有选择器来选择链的子元素:
const el = document.querySelector('#leftMenu ul > li > a:not(.active) + ul > li.active')
Run Code Online (Sandbox Code Playgroud)
现在要获取我感兴趣的元素,我必须这样做:
const x = el.parentNode.parentNode;
Run Code Online (Sandbox Code Playgroud)
有什么方法可以直接从选择器本身获取这个元素吗?
我遇到了与bash正则表达式匹配的问题.我有这样的正则表达式:
re="fatal: file not found: .+/tmp_dir_1234/([^\ ]*) \(No such file or directory\)"
test="fatal: file not found: /some/path/irrelevant/something/tmp_dir_1234/somefile.txt (No such file or directory)"
if [[ "$test" =~ "$re" ]]; then
echo "match!"
fi
Run Code Online (Sandbox Code Playgroud)
对我来说,这里的一切看起来都很好但是出于某种原因,在调试bash脚本时我可以看到它与字符串不匹配:
+ [[ fatal: file not found: /some/path/irrelevant/something/tmp_dir_1234/somefile.txt (No such file or directory) =~ fatal: file not found: \.\+/tmp_dir_1234/\(\[\^\\ ]\*\) \\\(No such file or directory\\\) ]]
Run Code Online (Sandbox Code Playgroud)
出于某种原因,正则表达式模式被转义.
bash ×3
java ×2
javascript ×2
reactjs ×2
regex ×2
i18next ×1
loops ×1
max ×1
mysql ×1
react-redux ×1
redux ×1
redux-form ×1
sed ×1
soap ×1
sql ×1
typescript ×1
web-services ×1